I was curious, seems to get pretty ugly logic wise actually, this is the
quickest, easiest solution I came up with:

tf.addEventListener(Event.CHANGE, onChange);
function onChange(event:Event):void{
var caret:int = tf.caretIndex;
 tf.appendText("_");
var line:int = tf.getLineIndexOfChar(caret);
tf.text = tf.text.substr(0, tf.text.length-1);

trace("caret=" + caret + ", line=" + line);
}

It's not pretty obviously, but at least the TextField doesn't actually
render with the "_" for any period of time, so it might not even affect
processing at all if the player isn't trying to redraw it at any point
during the process.

Taka

On Fri, Apr 9, 2010 at 3:58 PM, Taka Kojima <[email protected]> wrote:

> You have to do something like caret-1, and do some logic to detect if the
> current line contains at least one character, and if it doesn't do a line++,
> something along those lines.
>
> My suspicion (which I just confirmed) was that the caret isn't actually
> counted as a character in the textField, therefore when you do
> getLineIndexOfChar(caret) caret is always 1 number higher than the array
> getLineIndexOfChar is referencing to do the lookup.
>
> Taka
>
>
> On Fri, Apr 9, 2010 at 3:36 PM, Steven Sacks <[email protected]>wrote:
>
>> I'm trying to get the line index at the caret index in a multiline input
>> TextField, but it doesn't work.  Any ideas why?
>>
>>
>> var tf:TextField; // this is my TextField
>> tf.addEventListener(Event.CHANGE, onChange);
>> function onChange(event:Event):void
>> {
>>    var caret:int = tf.caretIndex;
>>    var line:int = tf.getLineIndexOfChar(caret);
>>    // line is always traces -1
>>    trace("caret=" + caret + ", line=" + line);
>> }
>>
>> I typed this:
>>
>> abcd
>> efgh
>> cekjk
>> wejk
>> rhwejk
>> rwehkj
>> werhkj
>> rehwk
>> rewkj
>> rehkj
>> rehkj
>> rewhkj
>> rewhkjgiorehj
>> fdkjs
>> cdshkjfhkj
>>
>> Output is this:
>>
>> caret=0, line=-1
>> caret=1, line=-1
>> caret=2, line=-1
>> caret=3, line=-1
>> caret=4, line=-1
>> caret=5, line=-1
>> caret=6, line=-1
>> caret=7, line=-1
>> caret=8, line=-1
>> caret=9, line=-1
>> caret=10, line=-1
>> caret=11, line=-1
>> caret=12, line=-1
>> caret=13, line=-1
>> caret=14, line=-1
>> caret=15, line=-1
>> caret=16, line=-1
>> caret=17, line=-1
>> caret=18, line=-1
>> caret=19, line=-1
>> caret=20, line=-1
>> caret=21, line=-1
>> caret=22, line=-1
>> caret=23, line=-1
>> caret=24, line=-1
>> caret=25, line=-1
>> caret=26, line=-1
>> caret=27, line=-1
>> caret=28, line=-1
>> caret=29, line=-1
>> caret=30, line=-1
>> caret=31, line=-1
>> caret=32, line=-1
>> caret=33, line=-1
>> caret=34, line=-1
>> caret=35, line=-1
>> caret=36, line=-1
>> caret=37, line=-1
>> caret=38, line=-1
>> caret=39, line=-1
>> caret=40, line=-1
>> caret=41, line=-1
>> caret=42, line=-1
>> caret=43, line=-1
>> caret=44, line=-1
>> caret=45, line=-1
>> caret=46, line=-1
>> caret=47, line=-1
>> caret=48, line=-1
>> caret=49, line=-1
>> caret=50, line=-1
>> caret=51, line=-1
>> caret=52, line=-1
>> caret=53, line=-1
>> caret=54, line=-1
>> caret=55, line=-1
>> caret=56, line=-1
>> caret=57, line=-1
>> caret=58, line=-1
>> caret=59, line=-1
>> caret=60, line=-1
>> caret=61, line=-1
>> caret=62, line=-1
>> caret=63, line=-1
>> caret=64, line=-1
>> caret=65, line=-1
>> caret=66, line=-1
>> caret=67, line=-1
>> caret=68, line=-1
>> caret=69, line=-1
>> caret=70, line=-1
>> caret=71, line=-1
>> caret=72, line=-1
>> caret=73, line=-1
>> caret=74, line=-1
>> caret=75, line=-1
>> caret=76, line=-1
>> caret=77, line=-1
>> caret=78, line=-1
>> caret=79, line=-1
>> caret=80, line=-1
>> caret=81, line=-1
>> caret=82, line=-1
>> caret=83, line=-1
>> caret=84, line=-1
>> caret=85, line=-1
>> caret=86, line=-1
>> caret=87, line=-1
>> caret=88, line=-1
>> caret=89, line=-1
>> caret=90, line=-1
>> caret=91, line=-1
>> caret=92, line=-1
>> caret=93, line=-1
>> caret=94, line=-1
>> caret=95, line=-1
>> caret=96, line=-1
>> caret=97, line=-1
>> caret=98, line=-1
>> caret=99, line=-1
>> caret=100, line=-1
>> caret=101, line=-1
>> caret=102, line=-1
>> caret=103, line=-1
>> caret=104, line=-1
>> _______________________________________________
>> Flashcoders mailing list
>> [email protected]
>> http://chattyfig.figleaf.com/mailman/listinfo/flashcoders
>>
>
>
_______________________________________________
Flashcoders mailing list
[email protected]
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders

Reply via email to