SpriteKit animateWithTextures 不适用于纹理图集
Posted
技术标签:
【中文标题】SpriteKit animateWithTextures 不适用于纹理图集【英文标题】:SpriteKit animateWithTextures not work with texture atlas 【发布时间】:2013-10-08 10:05:43 【问题描述】:当我不使用纹理图集时,一切正常。但是当我使用纹理图集时,animateWithTextures 不起作用并且什么都没有出现。 这是我的代码
SKTexture *spaceshipTexture = [SKTexture textureWithImageNamed:@"monkey.png"];
SKSpriteNode *spaceship = [SKSpriteNode spriteNodeWithTexture:spaceshipTexture];
spaceship.position = CGPointMake(0,0);
spaceship.anchorPoint = CGPointMake(0,0);
[self addChild: spaceship];
NSMutableArray *images=[NSMutableArray arrayWithCapacity:14];
for (int i=1; i<=14; i++)
NSString *fileName=[NSString stringWithFormat:@"%dShuGuangx.png",i];
SKTexture *tempTexture=[SKTexture textureWithImageNamed:fileName];
[images addObject:tempTexture];
NSLog(@"count %d",images.count);
SKAction *walkAnimation = [SKAction animateWithTextures:images timePerFrame:0.1];
[spaceship runAction:walkAnimation];
【问题讨论】:
你看过这里吗:***.com/questions/19159537/… 和这里raywenderlich.com/45152/… @Smick 谢谢。我在那里找到了答案。 【参考方案1】:[SKTexture preloadTextures:images withCompletionHandler:^(void)
[spaceship runAction:walkAnimation];
];
这解决了我的问题。
【讨论】:
这对我也有帮助。在我预加载纹理之前,runAction() 导致应用程序因 EXE_BAD_ACCESS 而崩溃。谢谢! 我遇到了repeatActionForever:
的问题,导致崩溃,这解决了它。以上是关于SpriteKit animateWithTextures 不适用于纹理图集的主要内容,如果未能解决你的问题,请参考以下文章