SKAction.moveTo根本不工作

时间:2015-06-09 08:34:26

标签: ios swift sprite-kit skaction

我在使用Sprite-kit和Swift 1.2时遇到了一个奇怪的问题。我有以下代码。 BitmapImage photo = new BitmapImage(); photo.UriSource = new Uri("pack://application:,,,/Images/EmptyImage.jpg"); 正确显示在屏幕中间。

但是,当我应用fingerSprite操作时,没有任何反应。我对Sprite-Kit和Swift很新,所以我可能会做一些完全愚蠢的事情,但请耐心等待。

我做错了什么?

moveTo

2 个答案:

答案 0 :(得分:2)

在每次触摸时,您都会创建一个new精灵,并且仅在case 3中将其添加到节点,而不运行移动操作。

到达case 4时,您只需在新的精灵实例上运行操作,而不将其添加到节点,因此永远不会显示。

将精灵添加到节点后立即使用移动操作

   case 3:       
        fingerSprite.position = fingerPoint
        fingerSprite.zPosition = labelZPosition
        self.addChild(fingerSprite)

        fingerSprite.runAction(SKAction.moveTo(fingerPoint, duration: 4.0))

我还注意到你尝试在同一个精灵上运行两个动作:

    fingerSprite.runAction(SKAction.scaleTo(2.0, duration: 4.0))
    fingerSprite.runAction(SKAction.moveTo(fingerPoint, duration: 4.0))

为了一个接一个地执行操作,您应该执行序列操作:

fingerSprite.runAction(SKAction.sequence([
   SKAction.scaleTo(2.0, duration: 4.0),
   SKAction.moveTo(fingerPoint, duration: 4.0)]));

如果您需要并行运行这些操作,请使用group操作代替sequence

答案 1 :(得分:0)

对我来说,解决方案非常简单。由于某种原因,子画面已暂停,您必须将其设置为false。

newTile.isPaused = false