AS3:查找字符串数组的坐标

时间:2016-09-20 17:45:24

标签: actionscript-3 flash

我正在学习AS3而我正在使用闪烁的光标编写打字机效果。现在我在欺骗"移动闪烁的光标。有没有办法在屏幕上显示字符串时找到它们的坐标?

var myString:String = "Lore Ipsum";
var myArray:Array = myString.split("");

stage.addEventListener(KeyboardEvent.KEY_DOWN, myKeyDown);

function myKeyDown(e:KeyboardEvent):void{
    tf.appendText(myArray.shift());
    BlinkingCursor.x = BlinkingCursor.x + 5;
}

2 个答案:

答案 0 :(得分:0)

如果您还没有,请检查TextField对象的api(假设您正在使用文本字段并且' tf'代表它):http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/text/TextField.html

应该有一些方法和属性可以提供帮助。快速浏览一下TextField。 getLineLength()可能有帮助,因为它似乎返回一行中的字符数(如果使用等宽字体,可以乘以字符宽度)。

如果您使用单行文本,则可以使用TextField.textWidth属性。

答案 1 :(得分:0)

未经测试但您可以尝试:

function myKeyDown(e:KeyboardEvent):void{
    tf.appendText(myArray.shift());
    BlinkingCursor.x = (tf.x + tf.width) + 5;
}

并且关于......

  

有没有办法在显示字符串时找到它们的坐标   在屏幕上?

您应该已经知道了,因为您首先将textField放在屏幕上。只是为了确认:

  • 您使用过tf.x =& tf.y =addChild(tf)之前设置坐标?
  • trace("TF current X-pos : " + tf.x);是否符合您的要求?