我正在构建一个简单的Flash游戏,它会显示小球(大小不同,x和y)。用户必须单击它们才能将其删除。 经过的秒越多,球体必须越快出现。 如果你在屏幕上有很多球体,你就输了。因此,如果你是一个非常快速和准确的点击器,如果你很慢,你会得到更多。 我现在的问题是:如何管理球体出现的速度? 我现在正在使用计时器,每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();
}