首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >向ScnScene中添加背景图像

向ScnScene中添加背景图像
EN

Stack Overflow用户
提问于 2015-08-13 17:30:12
回答 3查看 6.8K关注 0票数 5

我有一个应用程序,使用SpriteKit和发射器粒子(sks),我发现这是不现实的场景工具包的粒子。因此,我希望将其合并到SKScene中,但我不确定这是否可行。所以我决定创建一个SCNScene和粒子。然而,我想添加一个背景图像和唯一的3D效果将是粒子。有人能帮我为我的SCNScene设置背景图像吗?传统上,我会像这样把它添加到SKScene中,但是我在网上找不到任何SceneKit的帮助。

代码语言:javascript
复制
 let backgroundNode = SKSpriteNode(imageNamed: "backgroundImage")
    backgroundNode.size = view.frame.size
    backgroundNode.position = CGPointMake(view.frame.size.width/2, view.frame.height/2)

    self.addChild(backgroundNode)

提前谢谢你

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-08-14 16:49:51

代码语言:javascript
复制
let scnScene = SCNScene()
scnScene.background.contents = UIImage(named: "earth.jpg")
票数 16
EN

Stack Overflow用户

发布于 2016-02-05 05:57:30

基本上和@ answer的答案一样,但我可以使用一系列不同的技术来设置梯度背景。仍然非常简单和有用。

代码语言:javascript
复制
    const CGFloat DIVISOR = 255.0f;
    CIColor *bottomColor = [CIColor colorWithRed:(CGFloat)0xee / DIVISOR green:(CGFloat)0x78 / DIVISOR blue:(CGFloat)0x0f / DIVISOR alpha:1];
    CIColor *topColor = [CIColor colorWithRed:0xff / DIVISOR green:0xfb / DIVISOR blue:0xcf / DIVISOR alpha:1];
    SKTexture* textureGradient = [SKTexture textureWithVerticalGradientofSize:scnview.frame.size topColor:topColor bottomColor:bottomColor];
    UIImage* uiimageGradient = [UIImage imageWithCGImage:textureGradient.CGImage];
    self.background.contents = uiimageGradient;

其中"self“是SCNScene的一个子类。

这个例子需要这里的纹理类别:https://gist.github.com/Tantas/7fc01803d6b559da48d6

票数 3
EN

Stack Overflow用户

发布于 2020-01-31 06:02:15

我试着用@ answer回答。但是,当我将图像文件放在scnassets中时,图像并没有加载。但是当我把文件放到xcassets中时,它就起作用了。

代码语言:javascript
复制
scnScene.background.contents = UIImage(named: "earth")
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31994834

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档