我在使用Sprite-kit和Swift 1.2时遇到了一个奇怪的问题。我有以下代码。 BitmapImage photo = new BitmapImage();
photo.UriSource = new Uri("pack://application:,,,/Images/EmptyImage.jpg");
正确显示在屏幕中间。
但是,当我应用fingerSprite
操作时,没有任何反应。我对Sprite-Kit和Swift很新,所以我可能会做一些完全愚蠢的事情,但请耐心等待。
我做错了什么?
moveTo
答案 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