【问题标题】:AS3 display final timeAS3显示最后时间
【发布时间】:2014-04-07 16:45:05
【问题描述】:

我有一个函数可以跟踪我的主游戏文件中经过的时间,如下所示:

public function timeElapsed(milliseconds:int):void 
    {
        var time:Date = new Date(milliseconds);
        var minutes:String = String(time.minutes);
        var seconds:String = String(time.seconds);
        var miliseconds:String = String(Math.round(time.milliseconds)/100);

        if(minutes.length != 2)
        {
            minutes = '0' + minutes;
        }

        if(seconds.length != 2)
        {
            seconds = '0' + seconds;
        }

        trace(minutes + ":" + seconds + "." + miliseconds);
    }

我现在想弄清楚的是如何让它显示最终时间,即玩家被杀死的时间。我有处理各种事件对其他文件的调用的函数,但目前我对如何从这里获得时间到在游戏屏幕上显示完全空白,这是它自己的单独文件。

有什么想法吗?

【问题讨论】:

    标签: actionscript-3


    【解决方案1】:

    对于游戏中经过的时间的计算,您不需要Date 类。您应该使用getTimer() - 用于计算相对时间。在游戏开始时注册当前经过的时间,以及您想要的格式差异。

    var start: int = getTimer();
    
    //later, check difference
    myTextField.text = timeElapsed(start);
    
    function timeElapsed(start : int):String{
        var dt: int = getTimer() - start;
        //format result as you wish
        return someFormatResult;
    }
    

    Display final time,你想可视化时间格式化的结果吗?你可以使用简单的TextField

    【讨论】:

    • 对于格式化,我想使用 Minutes:Seconds,Milliseconds 并不是必需的,但我认为这是一个很好的补充
    • 嗯... 1 分钟 == 1000 毫秒 * 60 秒
    • 如何使用dt 格式化时间?我不知道从哪里开始。我知道获得小时、分钟和秒的转换,我只是不确定如何从dt 中减少时间编辑:也许是这样的? ` var hrs:String = (input > 3600 ? Math.floor(input / 3600) + ':' : ''); var mins:String = (hrs && input % 3600
    • 格式化为以毫秒为单位的秒:stackoverflow.com/questions/22569954/…
    • 我现在遇到的问题是计时器产生的时间不正确(我正在使用跟踪语句来确定)加上我无法让计时器显示在我的文本字段中,因为它一直告诉我Line 143, Column 4 1120: Access of undefined property displayElapsed. displayElapsed.text = timeElapsed(start); 的文本字段的名称是什么
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-21
    • 2011-03-21
    相关资源
    最近更新 更多