Actionscript 3 如何在Flash中保存前一帧中的数据

Actionscript 3 如何在Flash中保存前一帧中的数据,actionscript-3,Actionscript 3,我有一些叫做“一、二、三、四、五”的电影,和addChild一起出现在舞台上。我在stage上还有4个可编辑的文本字段,分别称为text1、text2、text3和text4,用户必须在每个字段中写入数字4、1、5、2。如果他们写错了什么,他们会被发送到下一个框架中,在那里他们会得到一些反馈,然后在当前框架中回来纠正他们的答案。问题是,当他们回来时,所有人都“重置”。在之前添加的电影剪辑和在之前写入的数字必须在舞台上。我该怎么做?(我需要一些简单的东西,因为我不熟悉flash和as3) 因为Mo

我有一些叫做“一、二、三、四、五”的电影,和addChild一起出现在舞台上。我在stage上还有4个可编辑的文本字段,分别称为text1、text2、text3和text4,用户必须在每个字段中写入数字4、1、5、2。如果他们写错了什么,他们会被发送到下一个框架中,在那里他们会得到一些反馈,然后在当前框架中回来纠正他们的答案。问题是,当他们回来时,所有人都“重置”。在之前添加的电影剪辑和在之前写入的数字必须在舞台上。我该怎么做?(我需要一些简单的东西,因为我不熟悉flash和as3)

因为MovieClips不存储帧状态。 您应该存储值,并在返回到帧后恢复它们

//Add these 2 helper functions in your frame with Quiz UI

function restoreValues():void{
    if(this.storedValues != null){
        //Restore data
        theText1.text = this.storedValues.txt1;           
    }
}

function storeValues():void{
    //Save as much data as you want
    this.storedValues = {
        txt1 : theText1.text
    };
}
当您转到另一个帧时,在更改帧之前调用
storeValues
,并将所有必要的数据存储在简单对象中

checkQuizButton.addEventListener(MouseEvent.CLICK, onCheck);

function onCheck(e: MouseEvent):void{
    storeValues();
    nextFrame();
}

在包含测验ui组件的框架中,在初始化所有ui组件之后,调用
restoreValues()不要忘记根据您的需要更改函数。

我需要更多帮助:当您转到另一个帧时,在更改帧之前调用storeValues,并将所有必要的数据存储在简单对象中-我如何调用storeValues?你说“更改函数”是什么意思?我已经添加了示例,“更改”我的意思是,这是唯一的示例,通过对一个字段的类比,你可以添加任意多的字段…谢谢你的帮助。我得到这个错误类型错误:错误#1009:无法访问空对象引用的属性或方法。在_fla::main timeline/storeValues()检查您在
storeValues
中访问的字段是否已定义。