所以我正在开发一个允许用户在舞台上打字的应用程序。文本需要出现在鼠标光标所在的位置(如果移动,文本将跟随鼠标光标)。在大多数情况下,它的效果非常好。我有两个问题。
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的新手,我想我提供了所需的所有信息。感谢。
答案 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 = "";