对不起,我的问题很复杂;)
我用addChild(…)方法在我的舞台上创建了几个组件(Slider, TextLabel, CheckBox,…)。现在,如果用户还需要一个Slider组件(用于另一个输入),我想给他一个带有CLICK addEventListener的按钮"addButton"(已经在舞台上)。在addEventListener中触发的函数应该在舞台上创建一个新的Slider组件,例如
addButton.addEventListener(MouseEvent.CLICK,addSlider("slid1",20,160,250,0,250,30));
问题是将参数传递给函数,我需要将新的滑块设置为几个基本值,如位置,宽度,最小值,最大值等....
这可以通过这种方式实现吗?谢谢,埃德温
有几种方法可以做到这一点。最简单的方法是在鼠标事件处理程序中调用函数:
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,然后它将添加40到sliderY....所以第一个生成的是160,下一个是200,下一个是240等等。
希望这对你有帮助!