AS3创建"文本工具"

时间:2014-07-03 07:34:57

标签: actionscript-3 text

所以我正在开发一个允许用户在舞台上打字的应用程序。文本需要出现在鼠标光标所在的位置(如果移动,文本将跟随鼠标光标)。在大多数情况下,它的效果非常好。我有两个问题。

1)如何让文字跟随鼠标光标?我当前的代码只允许用户在他们点击舞台时进行输入。

  var textfield = new TextField();
textfield.type = TextFieldType.INPUT
textfield.autoSize = TextFieldAutoSize.LEFT;
textfield.defaultTextFormat = textformat;
textfield.textColor = selectedColor;
textfield.x = mouseX;
textfield.y = mouseY;
stage.focus = textfield;
textfield.selectable = false;

        /* Add text to stage*/

board.addChild(textfield);

我的第二个问题,我该如何清除文字?文本将被粘贴"下到画布上,所以使用""方法不起作用。我想要一个"橡皮擦"擦除舞台上的文字。它就像stage.graphics.clear,但只是用于文本。

我能得到的任何帮助都将不胜感激。我仍然是AS3的新手,我想我提供了所需的所有信息。感谢。

1 个答案:

答案 0 :(得分:3)

要使文本跟随鼠标光标,可以向舞台添加事件监听器:

stage.addEventListener(MouseEvent.MOUSE_MOVE, onMouseMove);
function onMouseMove(event:MouseEvent){
  textfield.x = event.stageX;
  textfield.y = event.stageY;
}

要使其停止跟踪,您可以删除事件监听器:

stage.removeEventListener(MouseEvent.MOUSE_MOVE, onMouseMove);

要清除文字,请拨打textfield.text = "";