2016-09-20 41 views
0

我正在学习AS3,并且正在用闪烁的光标编程打字机效果。现在我在“作弊”移动闪烁的光标。有没有办法在屏幕上显示字符串的坐标?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; 
} 
+0

不适合网页设计。这是本地动画。 –

回答

0

,如果你还没有准备好,检查TextField对象的API(假设你使用一个文本框和“TF”代表它):http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/text/TextField.html

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

如果您使用的是单行文本,您可能只需使用TextField.textWidth属性。

+0

是的。我需要学习更多。现在我已经做了一个可以工作的混乱代码。 –

0

未经测试,但你可以尝试:

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

和有关...

有没有一种方法来找到字符串的坐标,当它们被显示在屏幕上 ?

您应该已经知道,因为您将textField放置在屏幕上的第一位。只是为了确认:

  • 你使用tf.x = & tf.y =addChild(tf)之前设置COORDS?
  • 请问trace("TF current X-pos : " + tf.x);是否喜欢你想要的?
+0

它不起作用。它返回始终为0的tf的坐标。textfiled(tf)被放置在0,0处,我想知道该texfield内的文本的坐标。谢谢。 –