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 如何对两个或多个精灵节点子节点的动画进行分组?

iOS 7 之前的 Sprite Kit 可用性

iOS7 + Sprite Kit:如果我正在改变场景,如何保持一个计时器一直显示?

iOS 7 SpriteKit 游戏 - 保存加载游戏时出错:'尝试将 nil 节点添加到父节点:<SKNode> 名称:'(null)'

如何使用 iOS 7 SpriteKit 粒子向非游戏的 iOS 应用程序添加粒子效果?