iOS7中的SpriteKit animateWithTextures不起作用
Posted
技术标签:
【中文标题】iOS7中的SpriteKit animateWithTextures不起作用【英文标题】:SpriteKit animateWithTextures in iOS7 not working 【发布时间】:2013-09-19 12:33:57 【问题描述】:我正在尝试添加一个基于两个 png 的小动画,在其中我使用两个图像创建两个 SKTextures 并创建一个 SKAction,并使用 [SKAction repeatActionForever] 让它永远运行,但什么都没有发生,什么也没有出现在屏幕。
这是我的代码:
_planePropeller = [SKSpriteNode spriteNodeWithImageNamed:@"PLANE PROPELLER 1.png"];
_planePropeller.xScale = 0.2;
_planePropeller.yScale = 0.2;
_planePropeller.position = CGPointMake(screenWidth/2, _plane.size.height+10);
SKTexture *propeller1 = [SKTexture textureWithImageNamed:@"PLANE PROPELLER 1.png"];
SKTexture *propeller2 = [SKTexture textureWithImageNamed:@"PLANE PROPELLER 2.png"];
SKAction *spin = [SKAction animateWithTextures:@[propeller1, propeller2] timePerFrame:0.1];
SKAction *spinForever = [SKAction repeatActionForever:spin];
[_planePropeller runAction:spinForever];
[self addChild:_planePropeller];
有什么想法吗?提前非常感谢!
【问题讨论】:
请看这个我认为它会帮助你raywenderlich.com/42699/spritekit-tutorial-for-beginners 请记住,设备上的文件名区分大小写,因此如果您的文件名确实是“Plane Propeller 1.png”,它不会加载文件。 是的,我查过了,但我写的都是正确的 【参考方案1】:可能是您的定位详细信息,您确定它们是正确的吗?我稍微更改了您的代码(self.frame.size.width 而不是 screenWidth 和高度相同,将其定位在视图的中心),它适用于我:
- (SKNode *)propellorNode
SKNode *planePropeller = [SKSpriteNode spriteNodeWithImageNamed:@"image1.png"];
planePropeller.xScale = 0.2;
planePropeller.yScale = 0.2;
planePropeller.position = CGPointMake(self.frame.size.width/2, self.frame.size.height/2);
SKTexture *propeller1 = [SKTexture textureWithImageNamed:@"image1.png"];
SKTexture *propeller2 = [SKTexture textureWithImageNamed:@"image2.png"];
SKAction *spin = [SKAction animateWithTextures:@[propeller1, propeller2] timePerFrame:0.1];
SKAction *spinForever = [SKAction repeatActionForever:spin];
[planePropeller runAction:spinForever];
return planePropeller;
【讨论】:
【参考方案2】:所以我的问题实际上是我自己的无知,因为我第一次添加了我的SKNodes
,最后,当背景应该被添加到第一个时,它可能在背景上:)
非常感谢大家的回答!
【讨论】:
以上是关于iOS7中的SpriteKit animateWithTextures不起作用的主要内容,如果未能解决你的问题,请参考以下文章
如何在 iOS7 SpriteKit 中为不同大小的图像设置动画?
iOS7 SpriteKit 如何对两个或多个精灵节点子节点的动画进行分组?
iOS7 + Sprite Kit:如果我正在改变场景,如何保持一个计时器一直显示?
iOS 7 SpriteKit 游戏 - 保存加载游戏时出错:'尝试将 nil 节点添加到父节点:<SKNode> 名称:'(null)'