iOS-以编程方式更改CCFile精灵图像

iOS-以编程方式更改CCFile精灵图像,ios,cocos2d-iphone,spritebuilder,Ios,Cocos2d Iphone,Spritebuilder,我正在用Cocoa2Ds为iOS制作一个游戏。我知道这可能很简单,但有没有一种方法可以通过编程更改CCFile的sprite图像 我创建了一个英雄精灵对象,然后使用SpriteBuilder将其拖到主场景中 最后,我想将英雄精灵对象更改为另一个也正在设置动画(移动)的图像。您询问了更改“CCFile”图像的问题,但我猜您指的是“CCSprite”图像。如果是这样,可以通过先创建精灵帧,然后将其指定给精灵来更改精灵图像: CCSpriteFrame * frame = [[CCSpriteFram

我正在用Cocoa2Ds为iOS制作一个游戏。我知道这可能很简单,但有没有一种方法可以通过编程更改CCFile的sprite图像

我创建了一个英雄精灵对象,然后使用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];
这将根据指定的延迟在图像中循环


我希望这会有所帮助。

我正在使用的[\u hero setDisplayFrame:frame]的可能副本;