当我来到文本字段时,会出现按钮 如果我从文本中得到按钮消失的文本。现在我希望当我点击按钮移动按钮再次消失并转到下一页。(movieClip)。
我在框架中执行所有操作,并使用addChild和removeChild在不同页面之间进行操作。对接始终保持不变。 (只使它可见/不可见)
所以我再次这样做。这是可能的,我怎么能做到最好?
现在它仍在第二页上可见。
答案 0 :(得分:0)
按钮对象的范围不能在handler
函数中访问。您必须查看是否可以通过传递给handler
函数的事件对象访问它,或者创建一个自定义事件类,该事件类将包含可以在handler
函数中访问的按钮对象当您为文本字段分派更改事件时。
答案 1 :(得分:0)
如果您不想深入创建自定义类,可以使用此代码 首先定义一些函数
import fl.controls.Button;
var pairs={};
var funcs={};
function ButtonConstructor(btnName:String,initX:Number,initY:Number,
connectedTF:TextField,clickFunction:Function){
this[btnName] = new Button();
this[btnName].x=initX;
this[btnName].name=btnName;
this[btnName].y=initY;
this[btnName].visible =false;
this[btnName].addEventListener('click',typicalClick);
addChild(this[btnName]);
pairs[connectedTF.name]=this[btnName];
funcs[btnName]=clickFunction;
connectedTF.addEventListener(Event.CHANGE,tfChange);
}
function tfChange(e:Event){
pairs[e.target.name].enabled = true;
pairs[e.target.name].visible = true;
e.target.removeEventListener(Event.CHANGE,tfChange);
}
function typicalClick(e:MouseEvent){
e.target.enabled = false;
e.target.visible = false;
funcs[e.target.name]();
}
然后你使用它们
function customFunction(){
gotoAndStop(2);
}
ButtonConstructor('newBtn',100,100,firstTF,customFunction);