验证IF条件总是AS3

时间:2013-07-31 14:33:54

标签: actionscript-3 actionscript

我是AS3的初学者,所以请尽可能给一个菜鸟作为答案。我想要一个特定的按钮点击以创建一条线,例如我点击按钮然后我需要在舞台上点击两次

  • 我点击它并选中它
  • 我在舞台上第一次点击选择行的起点
  • 我在舞台上第二次点击以选择终点。

我试图这样做,但我无法设法,如果有可能请帮助我。这是我写的代码

dr_line.addEventListener(MouseEvent.CLICK,drawln);
var test:Boolean;

function drawln(e:MouseEvent):void{
    test=true;
    stage.addEventListener(MouseEvent.CLICK,reportClick);   
}

var sx,sy,fx,fy:int;
var j:int;
function reportClick(event:MouseEvent):void 
{
    j=0;
    j++;

    if (test==true && j==1) {
        sx=event.localX;
        sy=event.localY;    
    }
    j++;
    test=true;
    trace(j);
    trace(test);
    if (test==true && j==2) {
        fx=event.localX;
        fy=event.localY;
        j=0;
        test=false;
        var  line:Shape = new Shape();
        line.graphics.beginFill(0x00FF00);
        line.graphics.moveTo(sx,sy);
        line.graphics.lineTo(fx,fy);

        this.addChild(line);    
    }
}

我应该怎么做才能这样做..请帮助我,谢谢!!!! ,是的,应该始终检查函数reportClick ....但是我不能让它继续,或者当我按下dr_line按钮它应该是活动的,所以它将被检查....

1 个答案:

答案 0 :(得分:0)

您在点击处理程序中指定j = 0 ...您应该在drawLn中执行此操作。此外,在单击处理程序中只需要一个j ++。

但更简洁的做法是拥有两个点击监听器point1ClickListenerpoint2ClickListener。您应该附加到point1ClickListener中的drawLn。然后在point1ClickListener内删除对point1ClickListener的收听点击,并附加point2ClickListener的点击监听器。同样,当point2ClickListener被调用时,请删除对point2ClickListner点击的聆听。