快速連結

2011年10月3日

CCAction相關:CCCallFunc系列

最近終於進入了RunAction時代,好吧是有點晚,本日主題是:CCCallFunc!!!!!(閃亮閃亮)



因為這個真是他媽的困擾我好久!!(拖出去打)

先來講基本型:

CCCallFunc:
[CCCallFunc actionWithTarget:<#(id)#> selector:<#(SEL)#>]
<#(id)#>:填入function的位置,可以是self,parent_,或者是任何一個物件或是CLASS。
<#(SEL)#>:你的function。
這種基本型是不能傳送 argument 的,也無從得知發送此action的是誰。

CCCallFuncN & CCCallFuncND :
[CCCallFuncN actionWithTarget:<#(id)#> selector:<#(SEL)#>]
[CCCallFuncND actionWithTarget:<#(id)#> selector:<#(SEL)#> data:<#(Void*)#>]
<#(id)#>:填入function的位置,可以是self,parent_,或者是任何一個物件或是CLASS。
<#(SEL)#>:你的function。
<#(Void*)#>:你要傳遞的數值。
被呼叫的function比較特別:
- (void) function名稱:(id)sender
如果後面有跟著data的話,那就在後面增加一個argument就可以了。

舉例來說:

NSString *str = @"JONNY";
[self runAction:[CCCallFuncND actionWithTarget:self selector:@selector(sayHello:mystring:) data:str]];

-(void)sayHello:(id)sender mystring:(NSString*)name{
   NSLog(@"Hello!%@",str);
}


再來是現在我比較常使用的:
CCCallFuncO :
[CCCallFuncO actionWithTarget:<#(id)#> selector:<#(SEL)#> object:<#(id)#>]
<#(id)#>:填入function的位置,可以是self,parent_,或者是任何一個物件或是CLASS。
<#(SEL)#>:你的function。
<#(id)#>:你要傳遞的參數。

跟CCCallFuncND有點雷同,但是不同的地方在於——
1.沒有sender。
2.CCCallFuncND好像可以傳送多參數,但是CCCallFuncO確定不行。

沒有留言:

張貼留言

歡迎大家留言提問,我會答的都會盡力回答!
如果太久沒出現回應就是我又忘記回來看留言了TAT