我想在游戏过程中随机安排这两个精灵,然后不断改变时间,以便精灵随机出现
我相信这样的事情必须要做,但是没有效果
int minDuration = 5.0;
int maxDuration = 30.0;
int rangeDuration = maxDuration - minDuration;
int randomDuration = (arc4random() % rangeDuration) + minDuration;
if (randomDuration == randomDuration) {
[self schedule:@selector(addshieldICON:) interval:10];
[self schedule:@selector(addspeedICON:) interval:10];
}
任何帮助或建议?谢谢
答案 0 :(得分:1)
我会尝试这样的事情开始。很难从你的问题中判断出你是想要同时出现这两个精灵,还是想要两个单独的时间表。无论哪种方式,您都可以修改此代码以完成工作。
-(void)scheduleWithRandomInterval {
int minDuration = 5.0;
int maxDuration = 30.0;
int rangeDuration = maxDuration - minDuration;
int randomDuration = (arc4random() % rangeDuration) + minDuration;
[self scheduleOnce:@selector(showIcons) delay:randomDuration];
}
-(void)showIcons {
[self addshieldICON];
[self addspeedICON];
[self scheduleWithRandomInterval];
}
但请注意:我在v2.1中添加了一个来自自己的选择器的新调度程序时遇到了一些问题。如果您注意到scheduleWithRandomInterval
未被多次调用,那么您可能需要做一些黑客工作来解决它。在过去,我已经这样做了。
而不是
[self scheduleWithRandomInterval];
我会用
[self delayedScheduleWithRandomInterval];
使用新函数来处理双延迟
-(void)delayedScheduleWithRandomInterval {
[self scheduleOnce:@selector(scheduleWithRandomInterval) 0.01];
}