【问题标题】:iOS - Change CCFile Sprite Image Programmatically [closed]iOS - 以编程方式更改 CCFile Sprite 图像 [关闭]
【发布时间】:2014-04-04 21:33:17
【问题描述】:

我正在使用 Cocoa2Ds 为 iOS 制作游戏。我知道这可能很简单,但是有没有办法以编程方式更改 CCFile 的精灵图像?

我创建了一个英雄精灵对象,然后使用 SpriteBuilder 将它拖到主场景中。

最后,我想将英雄精灵对象更改为另一个动画(移动)图像。

【问题讨论】:

标签: ios cocos2d-iphone spritebuilder


【解决方案1】:

您询问了有关更改“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];

这将根据指定的延迟循环显示图像。

我希望这会有所帮助。

【讨论】:

  • 我正在使用 [_hero setDisplayFrame:frame];
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-04-18
  • 1970-01-01
  • 2021-01-14
  • 1970-01-01
  • 1970-01-01
  • 2014-03-28
  • 2016-10-09
相关资源
最近更新 更多