Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xcode/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xcode 将背景图像添加到ScnScene_Xcode_Swift_Sprite Kit_Scenekit_Scnnode - Fatal编程技术网

Xcode 将背景图像添加到ScnScene

Xcode 将背景图像添加到ScnScene,xcode,swift,sprite-kit,scenekit,scnnode,Xcode,Swift,Sprite Kit,Scenekit,Scnnode,我有一个应用程序,它使用SpriteKit和发射器粒子(sks),我发现它们不像场景工具包的粒子(scnp)那样逼真。所以我想把它融入到场景中,但我不确定这是否可行。所以我决定创建一个SCNScene和particles(scnp)。但是,我想添加一个背景图像,唯一的3D效果是粒子。有人能帮我为我的SCNScene设置一个背景图像吗。传统上,我会像这样把它添加到一个场景中,但是我在网上找不到任何关于这个场景的帮助 let backgroundNode = SKSpriteNode(imageN

我有一个应用程序,它使用SpriteKit和发射器粒子(sks),我发现它们不像场景工具包的粒子(scnp)那样逼真。所以我想把它融入到场景中,但我不确定这是否可行。所以我决定创建一个SCNScene和particles(scnp)。但是,我想添加一个背景图像,唯一的3D效果是粒子。有人能帮我为我的SCNScene设置一个背景图像吗。传统上,我会像这样把它添加到一个场景中,但是我在网上找不到任何关于这个场景的帮助

 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)

提前谢谢你

基本上与@Kusal Shrestha的答案相同,但我能够使用一系列不同的技术设置渐变背景。仍然非常简单和有用

let scnScene = SCNScene()
scnScene.background.contents = UIImage(named: "earth.jpg")
    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的一个子类


这个例子需要这里的纹理分类:

我尝试使用@Kusal Shresthas answer。但是,当我将图像文件放入
scnassets
时,图像没有加载。但是,当我将文件放入
xcasets
时,它起了作用

scnScene.background.contents = UIImage(named: "earth")

看看这个。使用场景的背景和内容。非常感谢。谢谢但是,图像被拉伸以填充屏幕。有没有办法让它保持它的外观?