【问题标题】:as3 conidtional statement not workingas3条件语句不起作用
【发布时间】:2011-01-08 16:13:28
【问题描述】:

在我的代码中:

var manTimer:Timer = new Timer(1700,5);
manTimer.addEventListener(TimerEvent.TIMER, moveMan);
function moveMan(e:TimerEvent):void {
    var manX:Tween = new Tween(man, "x", Regular.easeIn, man.x, man.x - 100, 1.5, true);
}

function startMan(e:MouseEvent):void {
    manTimer.start();
    var manX:Tween = new Tween(man, "x", Regular.easeIn, man.x, man.x - 100, 1.5, true);
}

if(man.x > 589) {
paper.btnElScorcho.addEventListener(MouseEvent.CLICK, startMan);
paper.btnTheGoodLife.addEventListener(MouseEvent.CLICK, startMan);
}

我试图得到它,以便当点击 btnElScorcho 或 btnTheGoodLife 时,它​​会将我的“人”mc 移到舞台上。它从 590px 开始,到 -10px 结束。那部分正在工作。

不起作用的是我的条件语句,它告诉它仅在“人”位于 590 或更大的 x 位置时才移动他,因为当再次单击 2 个按钮之一时,我不希望如果他已经在那里或者他已经搬出去了,就把他搬出去。

因此,由于某种原因,“man”在第二次单击按钮时仍会移动,而且奇怪的是,“man”只会移动两次,而不是函数中设置的正常 5 次。

也许我可以更改 if 语句来检查按钮是否已经被点击,而不是“man”在哪里?

谢谢, 韦德

【问题讨论】:

    标签: actionscript-3 actionscript conditional if-statement


    【解决方案1】:

    有一点误解。 addEventListener 将永远注册处理函数,而不仅仅是一键。您要做的是在程序开始时调用 addEventListener 一次,然后检查处理函数内部的条件,如果它为假,则跳过处理代码。

    【讨论】:

    • 我想我明白了。对不起,但是我将如何写这篇文章呢?我不太确定。
    • 从头开始,明白了。非常感谢。
    猜你喜欢
    • 1970-01-01
    • 2011-12-04
    • 2012-08-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多