我正在为游戏开发一个随机波系统。这个想法是,每 1000 个点,就会从大约 50 个可能性中选择一个运动模式。这会影响所选项目的速度、方向和图像。我设计了一种我认为可行的方法,但我不确定这是否会花费太多内存来运行。
public class engine extends MovieClip {
private var countK:Number = 0;
private var newWave:Boolean = true;
public function engine() {
stage.addEventListener(Event.ENTER_FRAME, update);
}
private function update():void {
checkCount();
checkNew();
}
private function checkCount():void {
if (count => 1000) {
newWave=true;
count = 0;
}
}
private function checkNew():void {
if(newWave) {
randomNumber();
newWave=false
}
}
以上是我的快速想法,即每 1000 个点生成一个随机数。可以以您想要的任何方式添加分数(只需将 20 加到“分数”,将 20 加到“计数”)。我可以在 checkNew 中使用随机数函数,我不会拉另一个函数,它只是为了便于阅读而存在。
var newEnemy:mEnemy =new mEnemy();
stage.addChild(newEnemy);
EnemyArray.push(newEnemy);
trace(EnemyArray.length);
上面是一些可以在舞台上添加一个 mEnemy 实例的代码。现在我开始放松它了,我怎样才能将随机数转换为改变 mEnemy 行为的可行方法?
在 menemy 类中有 50 个函数是否明智,就在我 addChild 之前,我做了类似 newEnemy.WAVEfuncton1(); ? 如果是这种情况,我可以通过让它选择函数而不编写一大堆 if 语句来保存代码吗?
代替;
if (randomN==1) {
newEnemy.WAVEfunction1();
}
if (randomN==2) {
newEnemy.WAVEfunction2();
}
....
我可不可以做;
newEnemy.WAVEfunction[randomN]();
这也是假设在敌人内部使用函数是最好的主意。将行为放在引擎类中会更好吗?
如您所见,我不是程序员。我对这种想法很陌生,我不想制造一个会破坏游戏性能的错误(更不用说养成坏习惯了!)。
如果您花时间阅读此问题,谢谢!如果你能容忍我的无知,那就更谢谢你了!