1

我正在使用 cocos2d-android 进行项目。

这次我需要的是:屏幕上出现一个 CCSprite 并停留 3-4 秒并自动删除。什么班级可以做这项工作

如果有人早些时候做过这件事。建议我的方式?

4

1 回答 1

1

我会给你Objective-c中的代码示例,因为我从来没有处理过cocos2d-android,我相信它很简单

CCSprite *spriteToDisplayAndRemove = [CCSprite spriteWithFile:@"filename.png"];
[self addChild:spriteToDisplayAndRemove];//say CCLayer adds our sprite
CCDelayTime *delay =  [CCDelayTime actionWithDuration:3];
CCCallBlock *block = [CCCallBlock actionWithBlock:^{

   [self removeChild:spriteToDisplayAndRemove];
}];
[self runAction:[CCSequence actions:delay, block, nil]];

编辑:

由于 cocos2d-android 中的块不可用,您可以CCCallFunc改用。同样,Objective-c 示例:

 CCSprite *spriteToDisplayAndRemove = [CCSprite spriteWithFile:@"filename.png"];
 spriteToDisplayAndRemove.tag = 100;
[self addChild:spriteToDisplayAndRemove];//say CCLayer adds our sprite
CCDelayTime *delay =  [CCDelayTime actionWithDuration:3];
CCCallFunc *callFunc = [CCCallFunc actionWithTarget:self selector:@selector(removeSprite)];
[self runAction:[CCSequence actions:delay, callFunc, nil]];

这是你的removeSprite方法:

-(void)removeSprite
{
  CCSprite *sprite = [self getChildByTag:100];
  [self removeChild:sprite];
}
于 2013-08-14T06:54:59.783 回答