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