2012-03-09 71 views
0

目前在我的游戏我有我的重生系统的工作是这样的:改善Cocos2D产卵系统?

[self schedule:@selector(spawnSystem) interval:2.5-(score/30)]; 

这使得敌人产卵慢时得分较低,产卵时更快得分越高然而,这是不好的,不一致的,因为有时有时没有足够的敌人等......

无论如何,有没有什么办法可以让我可以用这种产卵方法使用CCTime,以便在开始时有更多的敌人,并且在两分钟后有没有那么多的敌人。有人可以给我一个例子,让我可以在正确的方向上领先吗?

所以底线是我希望spawnSystem方法在游戏开始时被称为一秒,大约2分钟后,它将每3秒或仅在那里被调用一次。

这可能吗?

谢谢!

回答

2

据我所知,你使用的线性函数y = 2.5-(score/30),这是一个递减的线性函数。你想要的更像是一个二次函数,即y = -x^2 -24x + 10. 你可以尝试二阶三次多项式来达到这个目的。

如果使用二次多项式那么你的代码将类似于

[self schedule:@selector(spawnSystem) interval:2.5-score*score-24*score + 10)]; 

Your Function

你的函数

quadratic function

二次函数

+0

我明白了,所以我需要使用上述的二次函数。然而,我没有在Obj-C中用数学工作那么多,那么代码如何呢?我确定它非常简单,但我只是有点困惑:P – 2012-03-09 21:08:55

+0

任何想法如何将其转换为代码? – 2012-03-12 21:18:20

+0

我添加了一个代码示例。我希望这会有帮助 – 2012-03-13 06:38:28