我在一个类中定义了一个SKTextures数组,如下所示:
var walking: Array<SKTexture> = []然后我在同一个类中有一个函数,它返回该数组的一个元素:
func running() -> SKTexture{
self.counter_run += self.counter_run
if (self.counter_run >= 2){
self.counter_run = 0
}
return self.walking[counter_run]
}我在代码的其他部分使用该函数来设置角色的动画:
override func update(_ currentTime: TimeInterval) {
player.texture = koopa.walking()
}但是我得到了这个错误:
Cannot assign value of type 'Array<SKtexture>' to type 'SKTexture'发布于 2017-01-22 05:34:07
您正在尝试将数组walking指定给nodes纹理,该纹理的类型为SKTexture。
根据要实现的目标,将walking的一个纹理设置为节点:
player.texture = walking[counter_run]或者使用一个操作:
player.runAction(SKAction.animateWithTextures(walking, timePerFrame: 0.5))编辑:方法的纹理动画取决于帧速率,而帧速率很可能不是您想要的。因此,我建议使用后者。
https://stackoverflow.com/questions/41784648
复制相似问题