2014-12-05 66 views
3

我一直在想如何做很長一段時間我正在使用Sprite工具包swift,我的問題是不知道如何用SKAction移動節點基本上,當我把它放在場景中時,他們看到一個節點正在移動(名爲節點精靈),我不明白它是如何工作的,有人請告訴我一個關於如何做到這一點的解釋性示例,請提前謝謝!我如何在sprite工具包中快速移動節點

+0

什麼是你的問題,你需要知道什麼,你有什麼嘗試? – LearnCocos2D 2014-12-06 13:47:48

+0

我想知道如何讓一個節點移動與迅速精靈動作它 – 2014-12-08 09:31:10

+0

https://developer.apple.com/library/mac/documentation/SpriteKit/Reference/SKAction_Ref/index.html#//apple_ref/occ/ CLM/SKAction /的moveTo:持續時間: – LearnCocos2D 2014-12-09 10:57:34

回答

2

要移動Sprite-Kit中的Sprite,您可以使用SKActions。

例如:

let action = SKAction.moveByX(3, y: 2, duration: 10) 
  • 這將使精靈移動沿着x軸3個單位和2個單位沿着在10秒y軸。

如果你希望你的精靈移動到一個特定的地方,你可以這樣做:

let action2 = SKAction.moveTo(location: CGPoint, duration: NSTimeInterval) 

希望這有助於!

0

您可以對Swift 3.0中的Node或Sprite進行操作...首先,我們將更改Node或Sprite的大小。

let nodeSize = SKAction.scale(to: 0.5, duration: 2) 

在兩秒內,這將改變對象的大小,無論它是一半大小。接下來,在節點或雪碧移動到不同的地方,使用...

let nodeSet = SKAction.moveBy(x: -3.0, y: 2.0, duration: 2) 

在兩秒鐘,對象將向左移動3個單位,以及高達2

如果你想將這些操作分配給特定的節點,您可以先創建一個節點var parentNode = SKShapeNode(),然後您可以告訴它們運行該操作。

parentNode.run(nodeSize) 
parentNode.run(nodeSet) 

希望這可以幫助。

0

據我所知,你有一個場景與一些節點(例如名稱=「myNode」)。

首先,您需要訪問該節點:

override func didMoveToView(view: SKView) { 
    let myNode = childNodeWithName(homeButtonName)! 
    ... 
} 

現在,你有你的節點的引用。

下一步是添加操作來移動此節點。 例如,讓我們繼續該節點20在水平和垂直-30 3秒:

let dX = 20 
let dY = -30 
let moveAction = SKAction.moveByX(CGFloat(dX), y: CGFloat(dY), duration: 3.0) 
myNode.runAction(moveAction) 

可以改變許多節點的屬性,不僅位置,例如大小,阿爾法,旋轉等