抱歉我复杂的提问;)
我使用addChild(...)方法在舞台上创建了几个组件(Slider,TextLabel,CheckBox,...)。现在,如果用户需要一个Slider组件(对于另一个输入),我想给他一个按钮“addButton”(已经在舞台上),带有一个CLICK addEventListener。在addEventListener中触发的函数应该在舞台上创建一个新的Slider组件,例如
addButton.addEventListener(MouseEvent.CLICK,addSlider("slid1",20,160,250,0,250,30));
问题是将参数传递给函数,我需要将新的Slider设置为几个基本值,如位置,宽度,最小值,最大值等....
这可以通过这种方式实现吗? 谢谢, 埃德
答案 0 :(得分:0)
有几种方法可以做到这一点。最简单的方法是在鼠标事件处理程序中调用函数:
addButton.addEventListener(MouseEvent.CLICK, addSliderHandler);
function addSliderHandler(e:MouseEvent):void {
{
addSlider("slid1",20,160,250,0,250,30);
}
编辑(回答你的评论问题):
要根据现有组件定位新组件,可以保留对脚本中位置的变量引用,并将其作为参数传递。例如,假设您希望第一个生成的滑块位于y:160,并且每个滑块比此更多40px,请将脚本更改为:
var sliderY:int = 160;
addButton.addEventListener(MouseEvent.CLICK, addSliderHandler);
function addSliderHandler(e:MouseEvent):void {
{
addSlider("slid1",20,sliderY,250,0,250,30);//Pass sliderY instead of literal number
sliderY += 40;//Add 40 to sliderY
}
现在,每次使用此功能创建按钮时,它将定位在y = sliderY,然后它将向sliderY添加40 ....所以生成的第一个将是160,下一个是200,接下来是240等。
希望这有帮助!