天文台 - 动作脚本2.0本地存储

时间:2017-07-25 17:17:50

标签: flash

1°。对不起我的英文:) 2º。我是新手,所以请你好! 本地存储 - Adob​​e Flash上​​的Action Script 2.0。 我有一个FLA文件,带有计时器记录,天,小时,分钟和秒。问题是,我想节省本地存储的时间,我试过但它没有用。 你可以帮我吗?

这是代码:

stop(); // stop the scene animation
timerClip.stop(); // stop the movieclip animation

// initialise variables
var day:Number = 121;
var hour:Number = 23;
var minute:Number = 59;
var second:Number = 47;
var record:Number = 000;

timerClip.onEnterFrame = function() {


if (this._currentframe == 30) {     
    second += 1;


    // SECONDS
    if (second > 59) {          
        second = 0;
        seconds.text = "0" + second;
        minute += 1;            

        // MINUTES
        if (minute >= 10) {
            minutes.text = minute;
        } else {
            minutes.text = "0" + minute;
        }

        // HOURS
        if (minute > 59) {
            minute = 0;
            minutes.text = "0" + minute;                
            hour += 1;

            if (hour >= 10) {
                hours.text = hour;
            } else {
                hours.text = "0" + hour;
            }
            }
        // DIAS
        if (hour > 23) {
            hour = 0;
            hours.text = "0" + hour;                
            day += 1;

            if (day >= 10) {
                days.text = day;                
            } else {
                days.text = "00" + day;
            }   

        }
    } else {            
        if (second >= 10) {
            seconds.text = second;
        } else {
            seconds.text = "0" + second;
        }

    // RECORDS
    if (record > day) {         
        record = record;
        records.text = 0 + record;
        } else {
            records.text = day;
        }   

    }       
}
}

这是 https://www.4shared.com/file/PtZpnH2eca/chronometer.html

Ty all!

1 个答案:

答案 0 :(得分:0)

我不知道你在哪里收到错误,但如果你声明了&在初始变量之后,在根时间轴上检索SharedObject

var day:Number = 121;
var hour:Number = 23;
var minute:Number = 59;
var second:Number = 47;
var record:Number = 000;

var so:SharedObject = SharedObject.getLocal("record");

if (so.data.record) {
    record = Number(so.data.record);
    trace(record);
}

这应该位于您的onEnterFrame功能之外,否则您将尝试每秒拨打30次。假设已将record提交给您的SharedObject,它将按预期跟踪它。

记录按钮上,将以下内容添加到on (release) {}个功能中:

so.data.record = record;
so.flush();

由于已在根上声明so,因此每次单击按钮时,都会将相应的值写入SharedObject。下次运行SWF时,它将从本地存储加载。