我不知道如何解释这个好,我会尽我所能:p
我有这段代码:
public function clickeado(MouseEvent):void{
if(getChildByName("placa") == null){
addChild(info);
}
trace(MouseEvent.target.name)
switch(MouseEvent.target.name){
case "_783":
info.circuito_tf.text = _783_circuito;
info.localidad_tf.text = _783_localidad;
info.responsable_tf.text = _783_responsable;
break;
我希望“info.circuito_tf.text”的文本是名为“_783_circuito”的变量的值。没关系。现在我还有17个案例,所以我决定做这样的事情:
switch(MouseEvent.target.name){
case "_783":
info.circuito_tf.text = MouseEvent.target.name + "_circuito";
info.localidad_tf.text = MouseEvent.target.name + "_localidad";
info.responsable_tf.text = MouseEvent.target.name + "_responsable";
break;
我希望我解释得很好,谢谢!
ps:在第二种情况下,info.circuito_tf.text的值是“783circuito”而不是变量的值
答案 0 :(得分:0)
您可以通过以下语法通过字符串来处理变量:
info.circuito_tf.text = this[MouseEvent.target.name + "_circuito"];
注意未定义的值。
是的,使用这种语法,您根本不需要switch语句,只需确保您的影片剪辑都具有有效名称,并且存在正确的变量并分配值。