2014-07-08 39 views
1

就iOS開發和Swift而言,我是一個完整的noob。這是非常基本的,但我似乎不明白它有什麼問題。在Swift中渲染Sprite for iOS

編譯器不會引發任何錯誤。圖像文件位於項目(image.xcassets)中,並進行了適當的命名。 UIcolor語句按預期工作。但是,代碼不會在屏幕上呈現精靈。節點計數爲零。我錯過了什麼?

下面是代碼:

import SpriteKit 

class GameScene: SKScene { 
     override func didMoveToView(view: SKView) { 
     self.backgroundColor = UIColor.blueColor() 
     let ball : SKSpriteNode = SKSpriteNode(imageNamed: "ball") 
     self.addChild(ball) 
    } 

    } 

回答

0

你需要給精靈一個位置在屏幕上。 SpriteKit不繪製不在屏幕上的節點。

override func didMoveToView(view: SKView) { 
    self.backgroundColor = UIColor.blueColor() 
    let ball : SKSpriteNode = SKSpriteNode(imageNamed: "ball") 
    self.addChild(ball) 
} 

請嘗試用此代替,應將球置於中心屏幕中。

override func didMoveToView(view: SKView) { 
    self.backgroundColor = UIColor.blueColor() 
    let ball : SKSpriteNode = SKSpriteNode(imageNamed: "ball") 
    ball.position = CGPoint(x: self.size.width/2, y: self.size.height/2) 
    self.addChild(ball) 
} 
+0

賓果。你釘了它。非常感謝!抱歉,由於我的狀態,我無法添加聲望。 – hvs

+0

沒問題,很高興幫助。 – Jeremy

0

據我瞭解你需要的大小來初始化。嘗試這樣的:

import SpriteKit 

class GameScene: SKScene { 
    init(size: CGSize) { 
    super.init(size: size) 

    let ball = SKSpriteNode(imageNamed: "Ball") 
    addChild(ball) 
    } 
} 
+0

我認爲您的評論是有效的,但您的代碼無法正常工作。我得到一個運行時錯誤。 – hvs

+0

究竟是什麼錯誤? – Akaino