iOS - 以编程方式更改 CCFile Sprite 图像 [关闭]
-
23-12-2019 - |
题
我正在使用 Cocoa2Ds 制作 iOS 游戏。我知道这可能很简单,但是有没有办法以编程方式更改 CCFile 的精灵图像?
我创建了一个英雄精灵对象,然后利用 SpriteBuilder 将其拖到主场景中。
最终,我想将英雄精灵对象更改为另一个也有动画(移动)的图像。
解决方案
您询问有关更改“CCFile”图像的问题,但我假设您的意思是“CCSprite”图像。如果是这样,可以通过首先创建精灵框架然后将其分配给精灵来更改精灵图像:
CCSpriteFrame * frame = [[CCSpriteFrameCache sharedSpriteFrameCache] spriteFrameByName:@"NameOfFrame"];
[mySprite setDisplayFrame:frame];
为此,您引用的图像必须已加载到内存中,例如通过精灵表:
[[CCSpriteFrameCache sharedSpriteFrameCache] addSpriteFramesWithFile:@"SpriteSheetFileName.plist"];
你提到了动画。如果您尝试为精灵制作动画,并且所有图像都加载到内存中,并且除了附加的序列号之外它们具有相同的名称,那么您可以让精灵在这些图像中移动,从而为其制作动画,如下所示:
NSString * animateCycle = [NSString stringWithFormat:@"ImageName 00%%02d.png"];
图像名称将类似于“ImageName 0001.png”、“ImageName 0002.png”等。
CCActionInterval * action = [CCAnimate actionWithSpriteSequence:animateCycle numFrames:8 delay:.1 restoreOriginalFrame:YES];
[mySprite runAction:action];
这将根据指定的延迟循环显示图像。
我希望这有帮助。
不隶属于 StackOverflow