我有一些名为one,two,three,four,five的影片剪辑出现在addChild的舞台上。我在舞台上还有4个可编辑的文本字段,名为theText1,theText2,theText3和theText4,用户必须在每个字段中写入数字4,1,5,2。如果他们写错了,他们会在下一帧发送,他们会收到一些反馈,然后回到当前的框架中来纠正他们的答案。问题是当他们回来时都会“重置”。之前添加的电影剪辑和之前写的数字必须在舞台上。我怎样才能做到这一点? (我需要一些简单的东西,因为我是flash和as3的新手)。
答案 0 :(得分:0)
因为MovieClip不存储帧状态。 您应该在返回到框架后存储值并恢复它们。
//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();
不要忘记根据需要更改功能。