目前在我的游戏中,生成系统的工作方式如下:
[self schedule:@selector(spawnSystem) interval:2.5-(score/30)];
这种方式使得当分数较低时,敌人生成得较慢,而当分数较高时,生成得较快。然而,这种方法不够好且不一致,因为有时敌人数量不足等问题…
无论如何,有没有办法让我在这个生成方法中使用CCTime,以便在游戏开始时有更多的敌人,而在大约两分钟后,敌人数量减少?能否有人给我一个例子,让我知道该如何进行?
总之,我的目标是让spawnSystem方法在游戏开始时每秒被调用一次,而在大约两分钟后,每三秒或大约这个时间间隔被调用一次。
这是可能的吗?
谢谢!
回答:
据我理解,你使用的是一个线性函数 y = 2.5-(score/30),这是一个递减的线性函数。而你想要的更像是一个二次函数,即 y = -x^2 -24x + 10。你可以尝试使用二阶、三阶多项式来达到这个目的。
如果你使用二阶多项式,那么你的代码将类似于
[self schedule:@selector(spawnSystem) interval:2.5-score*score-24*score + 10)];
您的函数
二次函数