AS3 创建"Text Tool"



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

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还很陌生,我想我已经提供了所有需要的信息。谢谢。

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

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 = "";

最新更新