1

我正在使用 Cocos2D 2.0,目前我的问题是每秒调度一个方法一定次数。

我基本上想做的是:

1. If score is 10 or less, call the method 5 times a second
2. If score is 11 or more, call the method 10 times a second

所以对于间隔,我分别尝试了 1/5 或 1/10,但没有奏效。有没有某种方法我应该使用这个调用来做到这一点?

[self schedule:@selector() interval:];

谢谢!

4

2 回答 2

2

是的,schedule:interval:会成功的。这里的问题是1/10and1/5是用两个整数文字定义的分数,因此按照 C 约定,应用整数除法,结果为 0。

尝试一下[self schedule:@selector(yourMethod) interval:1.0/10],它应该可以工作。

需要注意的是,schedule:如果您重新安排相同的选择器,该方法会自动更新间隔,您之前不需要取消安排它。

于 2012-10-18T03:03:46.543 回答
1

我认为您可以通过使用它来实现目标

if(score <= 10){
[self schedule:@selector(yourMethod) interval:0.5f];

}else{ [self schedule:@selector(yourMethod) interval:0.10f]; }

于 2012-10-18T10:27:10.147 回答