【问题标题】:AS2: string in array is undefinedAS2:数组中的字符串未定义
【发布时间】:2011-06-02 13:47:17
【问题描述】:

我在时间线上有以下代码,但是当我尝试从 Slider_Tracker 数组输出 date_string 时,它说它是未定义的。

var Days:Array = new Array('Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday','Saturday');
var Months:Array = new Array('January', 'February', 'March', 'April', 'May', 'June','July','August','September','October','November','December');
var current_date = new Date();
var day_num = current_date.getDay();
var year = current_date.getFullYear();
var month = current_date.getMonth();
var date_num:String = new String(current_date.getDate());
date_char = date_num.charAt(date_num.length-1);
if (date_char == 1) {
    date_suffix = "st";
}
else if (date_char == 2) {
    date_suffix = "nd";
}
else if (date_char == 3) {
    date_suffix = "rd";
}
var date_string:String = new String(Days[day_num]+" "+date_num+date_suffix+" of "+Months[month]+" "+year);
trace(date_string);
date_int = current_date.getTime();
trace(current_date);
trace(date_int);
var Sliders:Array = Array (slider1.slider, slider2.slider, slider3.slider, slider4.slider, slider5.slider, slider6.slider, slider7.slider, slider8.slider, slider9.slider);
var Slide_Tracker:Array = new Array();
var local_data = SharedObject.getLocal("user_data");

if (local_data.data.user_data == undefined) {
    local_data.data.user_data = Slide_Tracker;
    trace("fail");
} else {
    Slide_Tracker = local_data.data.user_data;
    for (i=0;i<Slide_Tracker.length;i++) {
            trace(Slide_Tracker[i][1]);

        if(Slide_Tracker[i][1] == date_string) {
            index = i;
        }
    }
    trace("success");
}
var current_time = new Date();

this._parent.fullClear.onRelease = function() {
    local_data.clear();
}

this._parent.saver.onRelease = function() {
trace(date_string);
Slide_Tracker.push(new Array(date_int, date_string));
for (i=0;i<Sliders.length;i++) {
    Slide_Tracker[0].push(100-Sliders[i]._y);
}
    Slide_tracker.push(today_Stats);
    local_data.data.user_data = Slide_Tracker;
    local_data.flush();

    nextFrame();

};

谁能看到我的失败?谢谢。

【问题讨论】:

    标签: arrays actionscript multidimensional-array actionscript-2 undefined


    【解决方案1】:

    你的意思是this._parent.saver.onRelease中的trace

    不幸的是,这是一个不同的范围,它将与您的 this._parent.saver MovieClip 相关,因此它无法访问您在此处定义的 date_stringSlide_Tracker

    【讨论】:

    • 该跟踪有效,在上面我选择 Slide_Tracker[i][1] (这是存储 date_string 的位置)它们输出未定义。如果我跟踪整个数组相同的故事,除了未定义的 date_string 之外,所有内容都存储得很好。 (date_int 存储良好)。
    • 啊,我明白了,抱歉输入错误。您是否将这些滑块值与以下行一起存储:Slide_Tracker[0].push(100-Sliders[i]._y);
    • 是的,忽略我的其他评论(现已删除)它不起作用,该值已正确存储在数组中,但是当您关闭重新打开并获取共享对象时,字符串现在未定义。
    • 嗯,这可能是一个共享对象序列化/反序列化问题,你能完整跟踪你得到的东西吗?
    • 当然... 输入:1307027496434,Thursday 2nd of June 2011,29,60,33,30,55,25,25,25,25 输出:1307027496434,undefined,29,60,33,30,55,25,25,25,25
    猜你喜欢
    • 1970-01-01
    • 2011-07-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-01
    • 2014-02-27
    • 2021-05-17
    • 2021-02-07
    • 2020-12-16
    相关资源
    最近更新 更多