消息调度就是指每隔一段时间调用一次方法。
有两种方法实现。
1.更新方式以每桢的频率被调用
[self scheduleUpdate];
-(void)update:(ccTime)delta
{
}
停止方法:[self unscheduleUpdate];
2.自定义时间间隔来更新
[self schedule:@selector(updateValue:) interval:10];//10秒更新一次
-(void)updateValue:(ccTime)delta
{
CCLOG(@"test");
}
停止方法:[self unschedule:@selector(updateValue:)];
其他的
performSelector
可以传递消息
1.[self performSelector:@selector(fooNoInputs)];
- (void) fooNoInputs {
NSLog(@"Does nothing");
}
2.不传递参数 并延迟1秒
[self performSelector:@selector(planeDown) withObject:nil afterDelay:1.0f];
3.传递一个参数
[self performSelector:@selector(fooOneInput:)
withObject:@"first"];
- (void) fooOneIput:(NSString*) first {
NSLog(@"Logs %@", first);
}
4.传递两个参数
[self performSelector:@selector(fooFirstInput:secondInput:)
withObject:@"first" withObject:@"second"];
- (void) fooFirstInput:(NSString*) first secondInput:(NSString*) second {
NSLog(@"Logs %@ then %@", first, second);
}