首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法将'Array<SKtexture>‘类型的值赋给'SKTexture’类型

无法将'Array<SKtexture>‘类型的值赋给'SKTexture’类型
EN

Stack Overflow用户
提问于 2017-01-22 05:20:45
回答 1查看 411关注 0票数 1

我在一个类中定义了一个SKTextures数组,如下所示:

代码语言:javascript
复制
var walking: Array<SKTexture> = []

然后我在同一个类中有一个函数,它返回该数组的一个元素:

代码语言:javascript
复制
func running() -> SKTexture{
    self.counter_run += self.counter_run
    if (self.counter_run >= 2){
        self.counter_run = 0
    }
    return self.walking[counter_run]
}

我在代码的其他部分使用该函数来设置角色的动画:

代码语言:javascript
复制
override func update(_ currentTime: TimeInterval) {
    player.texture = koopa.walking()
}

但是我得到了这个错误:

代码语言:javascript
复制
Cannot assign value of type 'Array<SKtexture>' to type 'SKTexture'
EN

回答 1

Stack Overflow用户

发布于 2017-01-22 05:34:07

您正在尝试将数组walking指定给nodes纹理,该纹理的类型为SKTexture

根据要实现的目标,将walking的一个纹理设置为节点:

代码语言:javascript
复制
player.texture = walking[counter_run]

或者使用一个操作:

代码语言:javascript
复制
player.runAction(SKAction.animateWithTextures(walking, timePerFrame: 0.5))

编辑:方法的纹理动画取决于帧速率,而帧速率很可能不是您想要的。因此,我建议使用后者。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41784648

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档