2014-12-05 73 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) 

可以改变许多节点的属性,不仅位置,例如大小,阿尔法,旋转等