【发布时间】:2016-04-08 05:56:06
【问题描述】:
我目前正在 Swift 中使用 SpriteKit 制作游戏,并使用 animateWithTextures() 为不同的动作制作动画。现在我的问题是如何在动画结束之前获取当前帧的索引? 我需要获取 ID 的原因是因为有时我需要在操作完成之前取消操作,但不能太早。例如,我有一个包含 10 帧的动作,玩家只能在第 6 帧之后取消该动作?另外,我以后可能还会使用该帧来检查动画的过程。
【问题讨论】:
-
我现在在 SO 上找不到它,我之前已经回答过这个问题,但是无法确定它本身所在的框架。您需要创建自定义
SKAction,或者覆盖我认为的texture属性以确定显示的纹理 -
如何获取当前纹理或其名称?还是有其他方法可以更好地控制动画的持续时间?程序员需要做的,SpriteKits 开发人员会意识到动画中的检查开始或完成应该远远不止这些,对吧?
-
self.texture,你不知道它的名字,你必须比较纹理。至于你的第二个问题, animateWithTextures 只是一个数组,所做的一切都是黑盒的,以保持简单。这就是为什么我们为您需要的高级功能提供自定义动画的原因
-
我们不能得到纹理的文件名吗?尝试使用 print(myTexture) 并得到结果:可选(“
\'filename.png\' (100 x 100)”)。但仍然找不到获取“filename.png”的方法。 -
也许你使用纹理的方式和我不同,我用的是图集
标签: swift animation sprite-kit skaction