Actionscript 3 AS3创建一个;“文本工具”;

Actionscript 3 AS3创建一个;“文本工具”;,actionscript-3,text,Actionscript 3,Text,所以我正在开发一个应用程序,允许用户在舞台上打字。文本需要显示在鼠标光标所在的位置(如果移动,文本将跟随鼠标光标)。在大多数情况下,它工作得相当好。我有两个问题 1) 如何允许文本跟随鼠标光标?我当前的代码只允许用户在点击舞台时输入 var textfield = new TextField(); textfield.type = TextFieldType.INPUT textfield.autoSize = TextFieldAutoSize.LEFT; textfield.defaul

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

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=“”

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

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=“”

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

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=“”

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

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=“”

感谢您的回复!但它仍然不能正常工作。这几乎是我能提供的唯一解释,它仍然没有跟随鼠标光标移动。还有关于清除文本,可以将其视为用橡皮擦“擦除”文本,除了textfield.text=”“;,还有其他方法吗;?因为这不符合我的需要。@user3418126我想你需要澄清你想以什么方式清除文本。将文本字段的文本值设置为空字符串是最符合逻辑的答案,除非您有一些非常规的想法。请编辑您的原始问题以提供更多详细信息。@user3418126或添加一个新问题,仅关注“清除文本”问题(如果可能需要较长的解释和回答)。感谢您的回答!但它仍然不能正常工作。这几乎是我能提供的唯一解释,它仍然没有跟随鼠标光标移动。还有关于清除文本,可以将其视为用橡皮擦“擦除”文本,除了textfield.text=”“;,还有其他方法吗;?因为这不符合我的需要。@user3418126我想你需要澄清你想以什么方式清除文本。将文本字段的文本值设置为空字符串是最符合逻辑的答案,除非您有一些非常规的想法。请编辑您的原始问题以提供更多详细信息。@user3418126或添加一个新问题,仅关注“清除文本”问题(如果可能需要较长的解释和回答)。感谢您的回答!但它仍然不能正常工作。这几乎是我能提供的唯一解释,它仍然没有跟随鼠标光标移动。还有关于清除文本,可以将其视为用橡皮擦“擦除”文本,除了textfield.text=”“;,还有其他方法吗;?因为这不符合我的需要。@user3418126我想你需要澄清你想以什么方式清除文本。将文本字段的文本值设置为空字符串是最符合逻辑的答案,除非您有一些非常规的想法。请编辑您的原始问题以提供更多详细信息。@user3418126或添加一个新问题,仅关注“清除文本”问题(如果可能需要较长的解释和回答)。感谢您的回答!但它仍然不能正常工作。这几乎是我能提供的唯一解释,它仍然没有跟随鼠标光标移动。还有关于清除文本,可以将其视为用橡皮擦“擦除”文本,除了textfield.text=”“;,还有其他方法吗;?因为这不符合我的需要。@user3418126我想你需要澄清你想以什么方式清除文本。将文本字段的文本值设置为空字符串是最符合逻辑的答案,除非您有一些非常规的想法。请编辑原始问题以提供更多详细信息。@user3418126或添加一个新问题,仅关注“清除文本”问题(如果可能需要较长的解释和回答)。