sprite kit - SKAction Perform Selector syntax error -
using skaction sequence trying add together delay , phone call method 2 parameters, maintain getting next (new obj c simple):
// code skaction *fireaction = [skaction sequence:@[[skaction waitforduration:1.5 withrange:0], [skaction performselector:@selector(addexplosion:firstbody.node.position andthename: @"whiteexplosion") ontarget:self]]];
// error
expected ':'
method declaration
-(void) addexplosion : (cgpoint) position andthename :(nsstring *) explosionname{
when substitute method phone call without parameters seems work fine.
any input appreciated.
use [skaction runblock:^{}]
instead of selector.
i utilize selectors if method has no parameters. using block much more powerful. beware of how utilize them may maintain expected deleted objects alive.
__weak typeof(self) weakself = self; skaction *fireaction = [skaction sequence:@[ [skaction waitforduration:1.5 withrange:0], [skaction runblock:^{ [weakself addexplosion:position andthename:explosionname]; }]]];
or utilize completion block:
__weak typeof(self) weakself = self; skaction *fireaction = [skaction waitforduration:1.5 withrange:0]; [somenode runaction:fireaction completion:^{ [weakself addexplosion:position andthename:explosionname]; }];
sprite-kit skaction
No comments:
Post a Comment