1º。对不起,我的英语:) 2度。我是新手,所以请对我好一点!本地存储- Adobe Flash上的操作脚本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;
}
}
}
}这是.Fla https://www.4shared.com/file/PtZpnH2eca/chronometer.html
都给我!
发布于 2017-07-26 03:40:02
我不确定你会在哪里得到一个错误,但是如果你在根时间线上声明并检索了你的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,它将按预期跟踪它。
在Record按钮上,将以下内容添加到on (release) {}函数中:
so.data.record = record;
so.flush();因为已经在根上声明了so,所以每次单击按钮时,都会将适当的值写入SharedObject。下次运行SWF时,它将从本地存储加载。
https://stackoverflow.com/questions/45309838
复制相似问题