1°。对不起我的英文:) 2º。我是新手,所以请你好! 本地存储 - Adobe 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!
答案 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时,它将从本地存储加载。