2
我正在用Cocos2d制作游戏。目前我有敌人每3秒以75个像素间隔移动。我希望他们拍摄。我的意思是我希望敌人移动,然后停下来,然后射击,然后重复。但显然,你知道没有CCShootAction。我在Enemies.m类有射击方法,但它在那里休眠。我如何使用它来让敌人射击,而不用移动到HelloWorldLayer.m类?任何帮助表示赞赏。谢谢!!Cocos2d中的CCAction帮助
我正在用Cocos2d制作游戏。目前我有敌人每3秒以75个像素间隔移动。我希望他们拍摄。我的意思是我希望敌人移动,然后停下来,然后射击,然后重复。但显然,你知道没有CCShootAction。我在Enemies.m类有射击方法,但它在那里休眠。我如何使用它来让敌人射击,而不用移动到HelloWorldLayer.m类?任何帮助表示赞赏。谢谢!!Cocos2d中的CCAction帮助
你可以使用一个重复动作和CCCallFuncO行动派敌人的对象。
在HelloWorldLayer.m类的一些FUNC:
- (void) someFunc
{
// ...
Enemy* enemy; // your enemy object
// ...
CCMoveBy* move = [CCMoveBy actionWithDuration:3 position:ccp(75,0)];
CCCallFuncO* shot = [CCCallFuncO actionWithTarget:self selector:@selector(shoot:) object:enemy];
CCSequence* sequ = [CCSequence actions:move,shot,nil];
CCRepeatForever* repeat = [CCRepeatForever actionWithAction:sequ];
[sprite runAction:repeat]; // your enemy sprite here
}
- (void) shoot: (id) obj
{
Enemy* enemy = (Enemy*)obj;
[enemy shoot];
}
从拍摄选择器可以从该对象
,似乎像它应该工作,调用一些方法,但遗憾的是它没有。你有任何疑难解答提示? – ipodfreak0313 2011-05-09 18:02:57