让Checkbox在返回帧时保持其状态

时间:2014-09-09 13:33:05

标签: actionscript-3 flash checkbox

感谢您花时间阅读本文。

让我先说明我对Flash / Actionscript非常陌生,并且在大约15年内没有做过任何编码。基本上我的雇主已经要求我为客户创建演示文稿。此演示文稿使用复选框显示图像的不同部分(实际上是按钮)。这些按钮又链接到其他框架,其中包含有关他们单击的部分的信息。

到目前为止一切正常,我已将所有复选框链接到按钮,并选中全部/取消选中所有按钮..我正在努力让闪存记住当我离开'时复选框所处的状态地图框架'。

Area_1_Chk.addEventListener(Event.CHANGE, toggleArea_1_Btn, false, 0, true);
Area_2_Chk.addEventListener(Event.CHANGE, toggleArea_2_Btn, false, 0, true);

/* Ensures that all checkboxes begin in the off state.
*/
Area_1_Btn.visible = false
Area_2_Btn.visible = false

/* Defines the Show All Checkbox and sets states to true/false
*/

ShowAll_Chk.addEventListener(Event.CHANGE, toggleMulti, false, 0, true);
function toggleMulti(e:Event):void
{
var SAC:Boolean = e.target.selected;
if(SAC)
{
Area_1_Chk.selected = true;
Area_1_Btn.visible = true;
Area_2_Chk.selected = true;
Area_2_Btn.visible = true;
    }
else
{
Area_1_Chk.selected = false;
Area_1_Btn.visible = false;
}
}

function toggleArea_1_Btn(e:Event):void
{
Area_1_Chk.selected ? Area_1_Btn.visible = true : Area_1_Btn.visible = false;
}
function toggleArea_2_Btn(e:Event):void
{
Area_2_Chk.selected ? Area_2_Btn.visible = true : Area_2_Btn.visible = false;
}

Area_1_Btn.addEventListener(MouseEvent.CLICK, A1_ClickToGoToAndStopAtFrame);
Area_2_Btn.addEventListener(MouseEvent.CLICK, A2_ClickToGoToAndStopAtFrame);

/* Sets link to frame */

function A1_ClickToGoToAndStopAtFrame(event:MouseEvent):void
{
gotoAndStop(2);
}
function A2_ClickToGoToAndStopAtFrame(event:MouseEvent):void
{
gotoAndStop(3);
}
stop(); 

1 个答案:

答案 0 :(得分:0)

最简单的方法是将它们放在第3帧中继续存在的层上,但要使它们从代码中不可见。

其他选项包括保存状态的2个变量,并在返回帧时手动分配它们(变量可跨帧访问),永远不改变帧(只显示和隐藏项目),将它们放在第3帧外舞台区等。