问题如何提高游戏速度

时间:2011-02-01 14:49:23

标签: flash actionscript-3

我正在构建一个简单的Flash游戏,它会显示小球(大小不同,x和y)。用户必须单击它们才能将其删除。 经过的秒越多,球体必须越快出现。 如果你在屏幕上有很多球体,你就输了。因此,如果你是一个非常快速和准确的点击器,如果你很慢,你会得到更多。 我现在的问题是:如何管理球体出现的速度? 我现在正在使用计时器,每2秒钟一次。因此,在开始时我们需要放慢速度,越多的球体出现越多秒。或者你点击的领域越多,游戏的速度就越快。

任何想法?

谢谢!

2 个答案:

答案 0 :(得分:0)

每次调用定时器时,您都可以将定时器的延迟属性设置得稍低一些。您可以通过修改时间来控制加速的速度。例如:

function OnTimer(e:TimerEvent):{
     //This will check to see if we are between the 10th and 20th time that this timer has been called.
     if(myTimer.currentCount > 10 && myTimer.currentCount < 20){
          //We will speed up the timer by 100 milliseconds, or .1 seconds.
          myTimer.delay -= 100;
     }
     //Spawn a new circle in the game
     SpawnCircle();
}

此示例将使计时器在前10次延迟2秒。在第10次和第20次之间,每次加速时间为0.1秒。在第20次之后它会保持它的速度,此时此刻将是1秒。

答案 1 :(得分:0)

每次定时器运行时,只需减少定时器的延迟时间。使用一个计数器点击数量的球体,然后用该数字减去2000。

var numSpheresClicked:int;

var timer = new Timer( 2000, 1 );
timer.addEventListener( Timer.TIMER, createSphere );


function createSphere( evt:Event ) {
     addSpheretoStage();
     timer.delay = 2000 - numSpheresClicked;
     timer.reset();
     timer.start();
}