gpt4 book ai didi

iphone - Cocos2d 中的 CCAction 帮助

转载 作者:行者123 更新时间:2023-12-03 21:19:48 25 4
gpt4 key购买 nike

我正在用 Cocos2d 制作游戏。目前,我的敌人每 3 秒以 75 像素间隔移动。我希望他们能够拍摄。我的意思是,我希望敌人移动,然后停止,然后射击,然后重复。但显然,您知道不存在 CCShootAction。我在 Enemies.m 类中有 shot 方法,但它在那里处于休眠状态。如何使用它来让敌人射击,而不将其移至 HelloWorldLayer.m 类?任何帮助表示赞赏。谢谢!!

最佳答案

您可以使用重复操作和 CCCallFuncO 操作来发送敌人的对象。

在HelloWorldLayer.m类的一些函数中:

   - (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];
}

从拍摄选择器中,您可以调用该对象的某些方法

关于iphone - Cocos2d 中的 CCAction 帮助,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5876967/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com