【发布时间】:2017-05-03 07:55:36
【问题描述】:
我有一个 30 帧的精灵动画,其中 6 帧是关键帧,其余的是从关键帧到关键帧的过渡。
我正在尝试弄清楚如何执行以下操作:
当按下按钮时,精灵开始动画。动画将至少运行一次,然后在随机选择的关键帧上停止动画。
当再次按下按钮时,动画将从最后选择的关键帧开始并运行 1 个完整周期,然后在随机选择的关键帧处再次停止。
我发现了一个类似的问题here,但这是在 2014 年提出的。Swift 和 Spritekit 在 3 年内的变化是否足以使其成为可能?
编辑: @亚历山德罗·奥纳诺 我试过这个:
var roll1Textures = ["Roll1Motion0", "Roll1Motion1", "Roll1Motion2", "Roll1Motion3", "Roll1Motion4", "Roll1Motion5", "Roll1Motion6", "Roll1Motion7", "Roll1Motion8", "Roll1Motion9", "Roll1Motion10", "Roll1Motion11", "Roll1Motion12", "Roll1Motion13", "Roll1Motion14", "Roll1Motion15", "Roll1Motion16", "Roll1Motion17", "Roll1Motion18", "Roll1Motion19", "Roll1Motion20", "Roll1Motion21", "Roll1Motion22", "Roll1Motion23", "Roll1Motion24", "Roll1Motion25", "Roll1Motion26", "Roll1Motion27", "Roll1Motion28", "Roll1Motion29"]
let roll1Animation = SKAction.animate(with: Array(roll1Textures[0...5]), timePerFrame: 0.06, resize:false, restore:false)
但我收到一条错误消息:无法在属性初始化程序中使用实例成员“roll1Textures”;属性初始化程序在 'self' 可用之前运行。
我是如何以错误的方式实现您的代码的?
【问题讨论】:
-
据我所知,SpriteKit 中的这个特定问题没有任何改变。
-
我想说只是创建一个 customAction 来处理不同的状态
标签: swift3 sprite-kit xcode8