Flash 倒数计时和点数,AS3

Flash 倒数计时和点数,AS3,flash,actionscript,Flash,Actionscript,这一切都很完美,但有一件事。我现在怎么算一个呢? 谢谢 生命损失的产出 580 560 540 520 500 480 460 ect… 输出需要是 600 599 598 597 596 595 ect…“如果没有赢,则以时间左计数器结束” 倒计时屏幕截图 动作脚本 //Starts with 600 life points, counts from 30-0 //game will be more intricate and retotal scores, this is just a s

这一切都很完美,但有一件事。我现在怎么算一个呢?
谢谢

生命损失的产出
580 560 540 520 500 480 460 ect…

输出需要是
600 599 598 597 596 595 ect…“如果没有赢,则以时间左计数器结束”

倒计时屏幕截图

动作脚本

//Starts with 600 life points, counts from 30-0
//game will be more intricate and retotal scores, this is just a sketch
var EQUATION:int;
var TIME:int = 30;
var COUNTDOWN:Number = 600;
var COUNTUP:Number = 0;
var START:int = getTimer();
var DELTATIME:int;
var lucky:int;

var myTimer:Timer = new Timer(1000,30);
myTimer.addEventListener(TimerEvent.TIMER,someFunction);
myTimer.start();

function someFunction(event:TimerEvent) {
DELTATIME = (getTimer() - START)/1000;
//trace(DELTATIME);
//lucky = Math.floor(Math.random()*55);
//trace(lucky);
EQUATION = COUNTDOWN - (DELTATIME*COUNTDOWN/TIME) + COUNTUP; 
var str:String = String (Math.abs (EQUATION));
//var sub:String = ("000000")+ str.substr(0, 4);
//tx.text = String (sub);
tx.text = String ("YOU HAVE  ")+(EQUATION)+("  POINTS");
txt.text = String(Math.floor(30 - DELTATIME))+("  SECONDS LEFT");
trace(EQUATION);
if(lucky==16){
myTimer.stop(); 
var mtInter:uint = setInterval (blk, 222);
function blk():void {
txt.visible = !txt.visible;
tx.visible = !tx.visible;
txt.text = String("You're Lucky This Time");
tx.text = String("You Get 100 Life Points!");
}
}
if(EQUATION==0){
myTimer.stop(); 
var mtIntv:uint = setInterval (blink, 222);
function blink():void {
txt.visible = !txt.visible;
tx.visible = !tx.visible;
txt.text = String("Time's Up!");
tx.text = String("You're Dead!");
}
}
}

WIN的SCREENSHORT

您的更新功能仅每秒调用一次,因此最多可以显示30个值。您希望计时器在每个生命点至少调用一次更新函数。您还使用了一个int作为DELTA值,它将数字向下舍入到最接近的整数。把它改成数字,让你得到小数

这是您的代码更新为按1计数,但现在您的幸运函数将更频繁地计算,因此您需要调整:

    //Starts with 600 life points, counts from 30-0
//game will be more intricate and retotal scores, this is just a sketch
var EQUATION:int;
var TIME:int = 30;
var COUNTDOWN:Number = 600;
var COUNTUP:Number = 0;
var START:int = getTimer();
var DELTATIME:Number;//<-- Changed this to a Number to you get more than 30 values out of it
var lucky:int;

var myTimer:Timer = new Timer(25); //<-- Changed the timer to repeat every 25 milliseconds and infinitely
myTimer.addEventListener(TimerEvent.TIMER,someFunction);
myTimer.start();

function someFunction(event:TimerEvent) {
DELTATIME = (getTimer() - START)/1000;
//trace(DELTATIME);
//lucky = Math.floor(Math.random()*55);
//trace(lucky);
EQUATION = COUNTDOWN - (DELTATIME*COUNTDOWN/TIME) + COUNTUP; 
var str:String = String (Math.abs (EQUATION));
//var sub:String = ("000000")+ str.substr(0, 4);
//tx.text = String (sub);
tx.text = String ("YOU HAVE  ")+(EQUATION)+("  POINTS");
txt.text = String(Math.floor(30 - DELTATIME))+("  SECONDS LEFT");
trace(EQUATION);
if(lucky==16){
myTimer.stop(); 
var mtInter:uint = setInterval (blk, 222);
function blk():void {
txt.visible = !txt.visible;
tx.visible = !tx.visible;
txt.text = String("You're Lucky This Time");
tx.text = String("You Get 100 Life Points!");
}
}
if(EQUATION==0){
myTimer.stop(); 
var mtIntv:uint = setInterval (blink, 222);
function blink():void {
txt.visible = !txt.visible;
tx.visible = !tx.visible;
txt.text = String("Time's Up!");
tx.text = String("You're Dead!");
}
}
}
//从600个生命点开始,从30-0开始计数
//游戏将更加复杂和重新总分,这只是一个草图
var方程:int;
变量时间:int=30;
var倒计时:数字=600;
var倒计时:数字=0;
var START:int=getTimer();
var DELTATIME:数字//