arg*_*rgh 1 events event-handling listener actionscript-3
单击按钮时,我有三个功能可以释放.它们几乎相同,一个接一个地写下来.我的问题是第一个功能(粘贴在下面)有效,但是当我点击第二个和第三个按钮时没有任何反应.第二个和第三个按钮的代码相同,但使用了不同的变量.
redStarts.addEventListener(MouseEvent.CLICK, redBars);
function redBars(event:Event)
{
red1Starts.addEventListener(Event.ENTER_FRAME, r1);
red2Starts.addEventListener(Event.ENTER_FRAME, r2);
red3Starts.addEventListener(Event.ENTER_FRAME, r3);
function r1(event:Event)
{
if (red1Starts.y > 200){red1Starts.y -= 4};
}
function r2(event:Event)
{
if (red2Starts.y > 20){red2Starts.y -= 4};
}
function r3(event:Event)
{
if (red3Starts.y > 120){red3Starts.y -= 4};
}
}
Run Code Online (Sandbox Code Playgroud)
避免使用嵌套函数.似乎您提到的变量值在闭包中持久存在.试试这种方式:
redStarts.addEventListener(MouseEvent.CLICK, redBars);
function redBars(event:Event)
{
red1Starts.addEventListener(Event.ENTER_FRAME, r1);
red2Starts.addEventListener(Event.ENTER_FRAME, r2);
red3Starts.addEventListener(Event.ENTER_FRAME, r3);
}
function r1(event:Event)
{
if (red1Starts.y > 200){red1Starts.y -= 4};
}
function r2(event:Event)
{
if (red2Starts.y > 20){red2Starts.y -= 4};
}
function r3(event:Event)
{
if (red3Starts.y > 120){red3Starts.y -= 4};
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
76 次 |
| 最近记录: |