如何编写游戏的不同阶段?

时间:2012-01-13 00:22:19

标签: android iphone mobile

我正在制作一部有两部分的手机游戏。第一个是慢,第二个是快。第二个在第一个满足后执行。

我在考虑在游戏循环中运行游戏并将循环中的两个阶段分开:

MainGameLoop:
while (running) {
 while (!FirstStage.isDone) {
  FirstStage.run(); 
 }
 while (!SecondStage.isDone) {
  SecondStage.run();
 }
}

这是正确的范例吗?我可以参考哪些既定的游戏编程范例/模式?

2 个答案:

答案 0 :(得分:0)

从理论上讲,这是正确的。但实际上,你的应用程序将是事件驱动的,并且可能没有它自己的循环,但是利用系统的事件循环,例如在Android上。 这通常是隐含的。 因此,在第一阶段完成时,将触发一个事件(将调用一个方法),该事件设置一个指示第二阶段正在运行的状态。

答案 1 :(得分:0)

使用“状态机”的好方法是使用“状态机”。非常容易使用和扩展。

while(true)
{
    switch(game_state)
    {  
       case SLOW_STUFF: // whatver
             if(move_on):  game_state = FAST_STUFF; // or something like this.
             break;
       case FAST_STUFF:  // whatever..
       // then also...
       case GAME_OVER:
       case WAIT_FOR_START:
       case QUIT:
          // save state..
          return;
     etc

    }
}