预定信息
节点可以预定信息,其实就是Objective-C每隔一段时间调用一次方法.
-(void)scheduleUpdates
{
[self scheduleUpdate];
//==[self scheduleUpdate:@selector(update:) interval:0.0f];
}
-(void)update:(ccTime)delta
{
//此方法每帧都会被调用
}
-(void)scheduleUpdates
{
[self schedule:@selector(updateTenTimesPerSecond:) interval:0.1f];
}
-(void)updateTenTimesPerSecond:(ccTime)delta
{
//此方法将根据时间间隔来调用,每秒10次
//[self unschedule:_cmd] 用_cmd关键词停止当前方法的预定,如果加上这句,当前方法就只会执行一次
}
调用方法不存在时,Xcode不会报错
Project "XXX" Info -> Build -> Undeclared Selector
停止指定的选择器
[self unscheduleAllSelectors];
[self unschedule:@selector(updateTenTimesPerSecond:)];
//注:此方法不涌停止scheduleUpdate中设置的预定
-(void)updateTenTimesPerSecond:(ccTime)delta
{
//用_cmd关键词停止当前方法的预定,如果加上这句,当前方法就只会执行一次
[self unschedule:_cmd]
}
-(void) irregularUpdate:(ccTime)delta
{
//首先,停止方法调用的预定
[self unschedule:_cmd];
//这里我们用随机数来决定下次调用此方法需要下次调用的时间长度
float nextUpdate CCRANDOM_0_1()*10;
//然后用_cmd来代替选择器,用新的时间间隔来重新预定方法调用
[self schedule:_cmd interval:nextUpdate];
}
在预定时可以使用优先级,数越小越先执行.默认调用的优先组默认为0
-(void)scheduleUpdate
节点可以预定信息,其实就是Objective-C每隔一段时间调用一次方法.
-(void)scheduleUpdates
{
[self scheduleUpdate];
//==[self scheduleUpdate:@selector(update:) interval:0.0f];
}
-(void)update:(ccTime)delta
{
//此方法每帧都会被调用
}
-(void)scheduleUpdates
{
[self schedule:@selector(updateTenTimesPerSecond:) interval:0.1f];
}
-(void)updateTenTimesPerSecond:(ccTime)delta
{
//此方法将根据时间间隔来调用,每秒10次
//[self unschedule:_cmd] 用_cmd关键词停止当前方法的预定,如果加上这句,当前方法就只会执行一次
}
调用方法不存在时,Xcode不会报错
Project "XXX" Info -> Build -> Undeclared Selector
停止指定的选择器
[self unscheduleAllSelectors];
[self unschedule:@selector(updateTenTimesPerSecond:)];
//注:此方法不涌停止scheduleUpdate中设置的预定
-(void)updateTenTimesPerSecond:(ccTime)delta
{
//用_cmd关键词停止当前方法的预定,如果加上这句,当前方法就只会执行一次
[self unschedule:_cmd]
}
-(void) irregularUpdate:(ccTime)delta
{
//首先,停止方法调用的预定
[self unschedule:_cmd];
//这里我们用随机数来决定下次调用此方法需要下次调用的时间长度
float nextUpdate CCRANDOM_0_1()*10;
//然后用_cmd来代替选择器,用新的时间间隔来重新预定方法调用
[self schedule:_cmd interval:nextUpdate];
}
在预定时可以使用优先级,数越小越先执行.默认调用的优先组默认为0
-(void)scheduleUpdate
1793

被折叠的 条评论
为什么被折叠?



