【问题标题】:AS3 Change curve to Symbol HitboxAS3 将曲线更改为 Symbol Hitbox
【发布时间】:2013-08-08 17:16:23
【问题描述】:

我有两个可拖动的对象,当您拖动其中一个时,它会根据您的鼠标所在位置生成一条线,并且该线锚定到另一个对象。我喜欢这段代码要做的是在符号的后面生成一行

我收到了

但我需要这个

       if ((mouseX-targetPointX<0 && mouseY-targetPointY>0) || (mouseX-targetPointX>=0 && mouseY-targetPointY<=0)) {
        line.moveTo(mouseX-offset,mouseY-offset);
        line.curveTo(mouseX-offset,targetPointY-offset,targetPointX-offset,targetPointY-offset);
        line.lineTo(targetPointX+offset,targetPointY+offset);
        line.curveTo(mouseX+offset,targetPointY+offset,mouseX+offset,mouseY+offset);
    } else {
        line.moveTo(mouseX-offset,mouseY+offset);
        line.curveTo(mouseX-offset,targetPointY+offset,targetPointX-offset,targetPointY+offset);
        line.lineTo(targetPointX+offset,targetPointY-offset);
        line.curveTo(mouseX+offset,targetPointY-offset,mouseX+offset,mouseY-offset);
    }
    line.endFill();
};

【问题讨论】:

    标签: actionscript-3 line draw curve


    【解决方案1】:

    您可以使用自定义Point 对象,而不是使用鼠标位置作为参考来绘制曲线,并使用您希望曲线开始的坐标。

    moveTo(myPoint.x, myPoint.y);
    

    您可以使用Sprite 中的相对坐标创建任何您想要的Point,例如在(50,200),然后使用localToGlobal 查找全局坐标。

    var globalPoint:Point = mySprite.localToGlobal(new Point(50,200));
    trace(globalPoint.x,globalPoint.y);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-05-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-29
      相关资源
      最近更新 更多