我有一个表格,各种按钮可供用户选择。我已经为主时间轴上的每个按钮设置了变量,这些变量用于保持值“是”或“否”,具体取决于是否选择了按钮。他们都以“不”开始。
以下是每个按钮的数组:
tabs_array = ["familiars","tallers2","gestions","sortides","tallers1","medic","podoleg","dutxes","menjador"];
以下是选择按钮的初始变量:
var send_dutxes:String="no";
var send_gestions:String="no";
var send_medic:String="no";
var send_menjador:String="no";
var send_podoleg:String="no";
var send_sortides:String="no";
var send_tallers1:String="no";
var send_tallers2:String="no";
var send_familiars:String="no";
以下是每个按钮的代码:
for(var a=0; a<tabs_array.length; a++){
this.popup_contact[tabs_array[a]].gotoAndStop("off");
this.popup_contact[tabs_array[a]].addEventListener(MouseEvent.MOUSE_OVER, act_over);
this.popup_contact[tabs_array[a]].addEventListener(MouseEvent.MOUSE_OUT, act_out);
this.popup_contact[tabs_array[a]].addEventListener(MouseEvent.CLICK, toggleAct);
this.popup_contact[tabs_array[a]].buttonMode = true;
}
以下是我遇到问题的代码(点击状态)...当用户点击其中一个选项时:
function toggleAct(event:MouseEvent):void
{
if (this("send_"+event.currentTarget.name)=="no")
{
event.currentTarget.gotoAndStop("on");
trace("changing no to yes");
this("send_"+event.currentTarget.name) = "yes";
}
else if (this("send_"+event.currentTarget.name)=="yes")
{
event.currentTarget.gotoAndStop("off");
this("send_"+event.currentTarget.name) = "no";
trace("changing yes to no");
}
}
基本上我需要知道如何将单击的mc名称连接到相应的变量....将字符串更改为变量名称。
答案 0 :(得分:0)
我认为它会是这样的:
var valueOfWhatYouAreLookingFor = _root['send_'+event.currentTarget.name];
假设这些变量是全局定义的
PS。即使它可以工作(我没有访问Flash来检查这一点)你的结构有这么多的流程...只需要一个简单的改变你不需要全局变量:
tabs_array = ["familiars","tallers2","gestions"];
for(var a=0; a<tabs_array.length; a++){
this.popup_contact[tabs_array[a]].gotoAndStop("off");
this.popup_contact[tabs_array[a]].addEventListener(MouseEvent.MOUSE_OVER, act_over);
this.popup_contact[tabs_array[a]].addEventListener(MouseEvent.MOUSE_OUT, act_out);
this.popup_contact[tabs_array[a]].addEventListener(MouseEvent.CLICK, toggleAct);
this.popup_contact[tabs_array[a]].buttonMode = true;
// small addition
this.popup_contact[tabs_array[a]].currentState = 'on';
}
function toggleAct(event:MouseEvent):void
{
// ...
this.currentState = ( this.currentState == 'on' ? 'off' : 'on' );
// ...
}