Ios cocos2d v3 CCActionCallFunc与对象?
在cocos2d中,我以前使用过CCCallFuncN和CCCallFuncND 我试图调用一个函数并将对象发送到该函数。我已经尝试了一些似乎不起作用的实现。我最近对CCActionCallBlock的尝试如下所示:Ios cocos2d v3 CCActionCallFunc与对象?,ios,cocos2d-iphone,Ios,Cocos2d Iphone,在cocos2d中,我以前使用过CCCallFuncN和CCCallFuncND 我试图调用一个函数并将对象发送到该函数。我已经尝试了一些似乎不起作用的实现。我最近对CCActionCallBlock的尝试如下所示: [gun runAction:[CCActionRepeatForever actionWithAction:[CCActionCallBlock actionWithBlock:^ { CGPoint gunPoint = CGPointMake(gun.position
[gun runAction:[CCActionRepeatForever actionWithAction:[CCActionCallBlock actionWithBlock:^
{
CGPoint gunPoint = CGPointMake(gun.position.x - gun.contentSize.width/2, gun.position.y);
CGPoint shootVector = ccpSub(gunPoint, _playerPos);
float gunAngle = -1 * ccpToAngle(shootVector);
gun.rotation = CC_RADIANS_TO_DEGREES(gunAngle);
}]]];
我收到以下错误:
-[CCActionCallBlock]:发送到实例0x15f84c50的选择器无法识别
2014-03-02 16:54:19.768 JuhnerickShooterFinal[22576:70b]*由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:'-[CCActionCallBlock Essed]:未识别的选择器发送到实例0x15f84c50'
是否有人能够解释如何将对象从动作传递到被调用函数中
谢谢:)从中可以看到,这是一个即时操作,不包含appead
方法,该方法位于CCActionInterval
类(以及所有子类)中
如果希望在每一帧都发生一些事情,只需将代码添加到节点的update
方法:
m:
- (void)update:(ccTime)delay {
GPoint gunPoint = CGPointMake(self.position.x - self.contentSize.width/2, self.position.y);
CGPoint shootVector = ccpSub(gunPoint, _playerPos);
float gunAngle = -1 * ccpToAngle(shootVector);
self.rotation = CC_RADIANS_TO_DEGREES(gunAngle);
}
注意:您需要了解如何在上面的代码中访问
\u playerPos
<代码>玩家可以通过游戏场景中类似单例的模式访问。删除“永远重复”操作,如果需要在每帧运行代码,则在目标节点中安排更新选择器。您可以使用阻止操作来发布计划。谢谢-看起来我需要重新构造一点程序以实现这一点-我正在将我的旧项目从cocos2d 0.99更新为cocos2d v3:)