我有一个单独的.png(由texturepacker生成),我在cocos2d中使用它来设置按钮动画。现在,我正在迁移到SpriteKit(必须)并且在使用纹理图集时,它必须是多个分割文件。我试图通过Shoebox分裂它,但我无法得到正确的序列。我如何做相同的动画?
答案 0 :(得分:0)
如果我正确理解了这个问题,你很可能会找到类似的东西。
SKTexture *fullTexture = [SKTexture textureWithImageNamed:@"single.png"];
float widthPercent = 1.0f/(float)columns;
float heightPercent = 1.0f/(float)rows;
NSMutableArray *textureArray = [[NSMutableArray alloc]init];
for (NSInteger i = 0; i < rows; i++)
{
for (NSInteger j = 0; j < columns; j++)
{
SKTexture *texture = [SKTexture textureWithRect:CGRectMake(j*widthPercent, i*heightPercent, widthPercent, heightPercent) inTexture:fullTexture];
[textureArray addObject:texture];
}
}
SKAction *animate = [SKAction animateWithTextures:textureArray timePerFrame:.2];
SKAction *repeatAction = [SKAction repeatActionForever:animate];
[yourSprite runAction:repeatAction];
您需要查看textureWithRect:inTexture: here 的文档以获取更多信息。请记住它是0到1的范围。
我希望能回答你的问题,或者至少让你开始朝着正确的方向前进。