as3条件语句不起作用
Posted
技术标签:
【中文标题】as3条件语句不起作用【英文标题】:as3 conidtional statement not working 【发布时间】: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”在哪里?
谢谢, 韦德
【问题讨论】:
【参考方案1】:有一点误解。 addEventListener 将永远注册处理函数,而不仅仅是一键。您要做的是在程序开始时调用 addEventListener 一次,然后检查处理函数内部的条件,如果它为假,则跳过处理代码。
【讨论】:
我想我明白了。对不起,但是我将如何写这篇文章呢?我不太确定。 从头开始,明白了。非常感谢。以上是关于as3条件语句不起作用的主要内容,如果未能解决你的问题,请参考以下文章