【发布时间】:2017-03-30 22:36:30
【问题描述】:
好的。我在 SKTextures 和动画中遇到了一个非常奇怪的问题 - 我创建了一个像这样的精灵节点,并将正常纹理设置为我最终将动画通过的 sktextures 数组中的最后一个图像。纹理(非普通纹理)设置为数组中的第一个图像。
theSprite = SKSpriteNode()
theSprite.texture = atlas[0]
theSprite.normalTexture = atlas[atlas.count-1]
theSprite.size = CGSize(width: 500, height: 1491)
theSprite.position = CGPoint(x: basePos.x+1, y: basePos.y+2)
superScene.addChild(theSprite)
点击后它会运行这个函数,正如我在此处阅读的 https://developer.apple.com/reference/spritekit/skaction/1417810-animate 我已将恢复设置为 TRUE,因此它应该在数组的最后一帧结束:
let anim = SKAction.animate(with: atlas, timePerFrame: animSpeed, resize: false, restore: true)
theSprite.run(anim, completion: {() -> Void in
})
它应该回到正常纹理(这是一个空白图像),但它没有。回到这一点的唯一方法是,如果我没有将纹理设置为开始,我需要这样做。如何让它恢复?
【问题讨论】:
-
skyguy,我发布了一个答案。让我知道是否需要澄清任何事情。顺便说一句,你想用 normalTexture 做什么?
-
skyguy,我认为您需要明确说明有多少纹理以及您希望它们动画的顺序。这不仅可以澄清您的问题,还可以帮助您获得更好的答案。跨度>
标签: swift swift3 sprite-kit sktexture