2015-09-10 73 views
1

我正在嘗試將一個精靈從左到右移動到屏幕上。我聽說我可以通過使用velocity屬性來做到這一點,或者其他方式也可以,但這裏是我的代碼。在Sprite工具包中的屏幕上移動精靈

import SpriteKit 

class GameScene: SKScene, SKPhysicsContactDelegate { 

let redBall = SKSpriteNode(imageNamed: "redball") 

override func didMoveToView(view: SKView) { 
    let thrust = CGFloat(0.12) 
    let thrustDirection = Float() 



    //RedBall Properties 
    redBall.physicsBody = SKPhysicsBody(circleOfRadius: redBall.size.width/2) 
    redBall.physicsBody?.velocity 
    addChild(redBall) 


    //World Phyisics Properties 
    let worldBorder = SKPhysicsBody(edgeLoopFromRect: self.frame) 
    self.physicsBody?.friction = 1 
    self.physicsBody = worldBorder 
    self.physicsWorld.gravity = CGVectorMake(0, 0) 

} 
override func touchesBegan(touches: Set<NSObject>, withEvent event: UIEvent) { 

} 
override func touchesMoved(touches: Set<NSObject>, withEvent event: UIEvent) { 

} 
} 

謝謝!

回答

1

您可能想要使用SKAction,假設您希望它滑過屏幕,而不是簡單地從點a移動到點b。你可以做這樣的事情:

let move = SKAction.moveToX(self.frame.size.width, duration: 1.0) 
redBall.runAction(move) 

這將創建一個名爲SKAction此舉移動到屏幕的右側的節點,然後運行一個節點上的行動,在這種情況下,redBall。

要移動到左邊,你只需要改變的x值的移動動作,以這樣的:

let move = SKAction.moveToX(0, duration: 1.0) 
+0

我怎麼會移回向左嗎? –

+0

我更新了我的答案 – TheCodeComposer

相關問題