我可以从CCCallFuncN调用委托函数吗?
或者我必须在sam类中创建一个函数作为调用委托的动画吗?
- (void) foo
{
id actionMoveDone = [CCCallFuncN actionWithTarget:self selector:@selector(callDelegate:)];
}
- (void) callDelegate
{
[delegate moveDone];
}
答案 0 :(得分:0)
如果您正在谈论正在实施的协议的正式委托方法,例如触摸方法,加速度计等,那么不,您不应该手动调用它们。它们在特定时间从系统接收特定数据,并且不会由您自己的代码调用。
然而,如果"委托"你正在引用自己正在创建的方法,然后是的,你可以从CCCallFuncN中调用它们,就像它的设计形式一样。
答案 1 :(得分:0)
您在self
中看到“[CCCallFuncN actionWithTarget:self selector:@selector(callDelegate:)]
”部分了吗?好吧,你为包含所需函数的对象的实例更改它。因此,如果您的函数位于mySprite
,则可以写下:
[CCCallFuncN actionWithTarget:mySprite selector:@selector(callDelegate:)];
答案 2 :(得分:0)
你应该使用CCCallFunc作为当前代码。
CCCallFuncN for -(void)func:(id)node
CCCallFuncND for -(void)func:(id)node param:(void*)param
我也有一个问题: 我使用CCCallFuncND,这段代码运行良好。谁能告诉我原因? :
[CCCallFuncND actionWithTarget:self selector:@selector(func1:) data:data];
//
-(void)func1:(void*)data{
}