2017-08-23 73 views
0

我想爲GameScene.sks中的場景製作背景。我在那裏有Tile Map Node,但是當我在GameScene.swift中設置背景時,圖片出現在我的紋理上。我想要在場景的後面。SpriteKit zPosition背景

這裏是GameScene.swift代碼:

import SpriteKit 

class GameScene: SKScene { 
    var background = SKSpriteNode(imageNamed: "BackGround")` 
    override func didMove (to view: SKView) { 
     background.zPosition = 1 
     background.position = CGPoint(x: frame.size.width/2, y: frame.size.height/2) 
     addChild(background) 
    } 
} 

這裏是GameViewController.swift的代碼:

import UIKit 
import SpriteKit 

class GameViewController: UIViewController { 

override func viewDidLoad() { 
    super.viewDidLoad() 

    if let view = self.view as! SKView? { 
     // Load the SKScene from 'GameScene.sks' 
     if let scene = SKScene(fileNamed: "GameScene") { 
      // Set the scale mode to scale to fit the window 
      scene.scaleMode = .aspectFill 
      // Present the scene 
      view.presentScene(scene) 
     } 
     view.ignoresSiblingOrder = true 

     view.showsFPS = true 
     view.showsNodeCount = true 
    } 
} 

override var prefersStatusBarHidden: Bool { 
    return true 
} 
+0

我知道我可以在GameScene.sks中創建背景。但我想在代碼中使用它,所以我可以設置背景滾動的速度。 –

回答

0

是否1場景中的至少z位置?如果是這樣,請嘗試將您的SKViewignoresSiblingOrder屬性設置爲false。我還建議您至少閱讀SKSceneSKNode文件。一般來說SpriteKit documentation

+0

我已添加一些信息。我是SpriteKit的初學者。你能否解釋我在哪裏以及如何放置它? –

+0

而我沒有設置所有的z位置。我做這個是因爲我認爲它會幫助我) –

+0

SpriteKit中節點的z位置決定了節點在SpriteKit渲染循環的渲染順序中的位置。如果你只是設置背景節點的'zPosition',它必須是一個負值(即-1),以便將它放在其他節點「後面」。 –