schedule,预约信息:其实就是Objective-C里面的每隔一段时间调用一次方法。 比如,在其中处理碰撞测试。
CCNode可以[self scheduleUpdate]来预定信息,
-(void) update:(ccTime)delta
{
// 此方法每一帧都会被调用
}
delta参数表示的是此方法的上一次调用到现在所经过的时间。delta单位是秒,一般是1/60秒。
停止节点的所有选择器:
[self unscheduleAllSelectors];
停止某个指定的选择器:
[self unschedule:@selector(updateTenTimesPerSecond:)];
停止对当前方法的预约
// 用_cmd关键词停止当前方法的预定
-(void) irregularUpdate:(ccTime)delta
{
// 首先,停止方法调用的预定 [self unschedule:_cmd];
// 这里我们用随机数来决定下次调用此方法需要经过的时间 float nextUpdate = CCRANDOM_0_1() * 10;
// 然后用_cmd来代替选择器,用新的时间间隔来重新预定方法调用
[self schedule:_cmd interval:nextUpdate];
}
scheduleUpdate不能被单独取消,它只能随unscheduleAllSelectors一起取消。
CCNode可以[self scheduleUpdate]来预定信息,
-(void) update:(ccTime)delta
{
// 此方法每一帧都会被调用
}
delta参数表示的是此方法的上一次调用到现在所经过的时间。delta单位是秒,一般是1/60秒。
停止节点的所有选择器:
[self unscheduleAllSelectors];
停止某个指定的选择器:
[self unschedule:@selector(updateTenTimesPerSecond:)];
停止对当前方法的预约
// 用_cmd关键词停止当前方法的预定
-(void) irregularUpdate:(ccTime)delta
{
// 首先,停止方法调用的预定 [self unschedule:_cmd];
// 这里我们用随机数来决定下次调用此方法需要经过的时间 float nextUpdate = CCRANDOM_0_1() * 10;
// 然后用_cmd来代替选择器,用新的时间间隔来重新预定方法调用
[self schedule:_cmd interval:nextUpdate];
}
scheduleUpdate不能被单独取消,它只能随unscheduleAllSelectors一起取消。