【发布时间】:2015-08-23 23:12:32
【问题描述】:
我在使用 Sprite-kit 和 Swift 1.2 时遇到了一个奇怪的问题。我有以下代码。 fingerSprite 正确显示在屏幕中间。
但是,当我应用 moveTo 操作时,什么也没有发生。我对 Sprite-Kit 和 Swift 很陌生,所以我可能会做一些完全愚蠢的事情,但请多多包涵。
我做错了什么?
override func touchesBegan(touches: Set<NSObject>, withEvent event: UIEvent) {
tutorialStepReset()
var bounceLabels = SKAction.sequence([
SKAction.scaleTo(1.3, duration: 0.5),
SKAction.scaleTo(1.0, duration: 0.5)
])
var fingerPoint = CGPoint(x: self.size.width/2, y: self.size.height/2)
var fingerSprite = SKSpriteNode(imageNamed: "finger.png")
switch tutorialGuideIndex {
case 0: self.runAction( SKAction.runBlock({
self.labelScore.runAction(SKAction.repeatActionForever(bounceLabels))
}))
case 1: self.runAction( SKAction.runBlock({
self.labelUntilNextLevel.runAction(SKAction.repeatActionForever(bounceLabels))
}))
case 2: self.runAction( SKAction.runBlock({
self.labelCurrentLevel.runAction(SKAction.repeatActionForever(bounceLabels))
}))
case 3:
fingerSprite.position = fingerPoint
fingerSprite.zPosition = labelZPosition
self.addChild(fingerSprite)
case 4:
//move finger & draw line
fingerPoint.x = fingerPoint.x+20
fingerPoint.y = fingerPoint.y+20
fingerSprite.runAction(SKAction.scaleTo(2.0, duration: 4.0))
fingerSprite.runAction(SKAction.moveTo(fingerPoint, duration: 4.0))
tutorialGuideIndex++
}
【问题讨论】:
-
在哪里将精灵添加到包含节点以及何时运行该动作?从您发布的代码中,精灵未添加到任何节点...
-
好点 giorashc!我重构了这个例子。基本上我是在接触开始的,方法。
-
贴出fingerSprite相关的整个方法
标签: ios swift sprite-kit skaction