Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 19.09.2012, 19:10
AlexLucas вне форума Посмотреть профиль Отправить личное сообщение для AlexLucas Найти все сообщения от AlexLucas
  № 1  
Ответить с цитированием
AlexLucas
[+1 05.11.12]
 
Аватар для AlexLucas

Регистрация: Feb 2011
Сообщений: 431
По умолчанию Индекс первого видимого символа

Есть текст поле tf, где multiline = true.
Перехватываю TextEvent.TEXT_INPUT и пытаюсь определить индекс первого видимого символа, ведь текста может быть больше чем поместится в текст поле и он проскролиться, и индекс первого элемента может будет не 0.

Пытаюсь использовать
Код AS3:
tf.addEventListener(TextEvent.TEXT_INPUT, charPos);
 
private function charPos(e:TextEvent) {						
			   trace(' char pos : ' + (tf.getCharIndexAtPoint(1,10))); //1 и 10 чтобы доставало до первого  
                                                                                                    //символа по х и у
			}
Но дело в том что мне выводит позицию предыдущего первого символа, т.е. если я вставлю текст в чистое текст поле, который не поместится целиком и проскролится, то мне выведет '0', что не соответствует действительности, и уже когда в след. раз поймает событие, выдаст мне верную позицию опять же для предыдущего "первого" символа, итд итп.
Чувствую что я это делаю как-то через "одно место", может есть метод получше? И который работает

Старый 19.09.2012, 19:13
caseyryan вне форума Посмотреть профиль Отправить личное сообщение для caseyryan Найти все сообщения от caseyryan
  № 2  
Ответить с цитированием
caseyryan
 
Аватар для caseyryan

Регистрация: Jun 2012
Адрес: Новосибирск
Сообщений: 6,644
Записей в блоге: 4
Это можно решить использованием не TextEvent.TEXT_INPUT, а KeyboardEvent.KEY_UP
т.е. проверять введенный текст сразу после того, как он уже введен

Первый случай всегда будет выдавать предыдущий символ

Создать новую тему Ответ Часовой пояс GMT +4, время: 22:00.
Быстрый переход
  « Предыдущая тема | Следующая тема »  
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 22:00.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.