【问题标题】:Issue with ActionScript EventListenersActionScript EventListener 的问题
【发布时间】:2012-12-13 11:12:46
【问题描述】:

我正在尝试将 2 个函数放在 1 个事件上。 通过单击鼠标左键,您可以使正方形的可见性变为真假。然而,它只工作一次。它在第一次单击时消失,在第二次单击时重新出现。之后它不再起作用。我如何使它即使在使用后也能不断读取代码? 这是我的代码:

var poop = true;

stage.addEventListener(MouseEvent.CLICK, dissappearsquare)
function dissappearsquare(evt:MouseEvent):void
{
if(poop == true)
{
square2.visible = false;
poop = false;
}
stage.addEventListener(MouseEvent.CLICK, dissappearsquare1)
function dissappearsquare1(evt:MouseEvent):void
{
if(poop == false)
{
    square2.visible = true;
    poop = true;
}
 }
 }
 }

我希望我提供了足够的信息,感谢您的任何意见。

【问题讨论】:

    标签: actionscript-3 event-listener


    【解决方案1】:

    有两个 EventListener,你可以让它们都执行,这样一个覆盖另一个的动作。

    你只需要一个,而且更简单:

    stage.addEventListener(MouseEvent.CLICK, dissappearsquare)
    function dissappearsquare(evt:MouseEvent):void
    {
         square2.visible = !square2.visible
    }
    

    意思是:

    stage.addEventListener(MouseEvent.CLICK, dissappearsquare)
    function dissappearsquare(evt:MouseEvent):void
    {
         if (square2.visible == true) {
             square2.visible = false
         }
         else if (square2.visible == false) {
             square2.visible = true
         }
    }
    

    【讨论】:

    • 感谢您的代码。您能否解释一下为什么 square2.visible = !square2.visible 会这样工作?再次感谢您,它现在按预期工作。
    • square2.visible = !square2.visible 表示切换square2 的可见性。如果square2.visibletrue,它将分配NOT true,反之亦然。
    猜你喜欢
    • 2023-03-14
    • 2013-01-09
    • 1970-01-01
    • 1970-01-01
    • 2022-09-27
    • 1970-01-01
    • 2017-10-01
    • 1970-01-01
    • 2021-03-17
    相关资源
    最近更新 更多