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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 06.11.2007, 03:24
Mr. Fixit вне форума Посмотреть профиль Найти все сообщения от Mr. Fixit
  № 1  
Ответить с цитированием
Mr. Fixit
Banned
[+1 08.05.08]
[+4 14.04.08]
[+1.3 02.05.08]

Регистрация: Oct 2006
Адрес: кагбэ Киеф!!1
Сообщений: 1,473
Post Selection... Begin.. End..

Код:
var mL:Object = Object();
mL.onMouseMove = function () {
    beginIndex = Selection.getBeginIndex ();
    endIndex = Selection.getEndIndex ();

    trace(beginIndex);
    trace(endIndex);
    trace('----------------------\n');

    updateAfterEvent ();
    }
}
Mouse.addListener(mL);
собственно проблема вот в чем.. мы заносим каретку выделения за крайний символ наполовину, и он отображается выделеным, но класс Selection не понимает и передает неправильное значение переменной, что дает некоторые трудности.
Сверил с этим "редактором текста", тут наполовину выделяя - всеравно записывается в переменную значение..
Прошу помочь в обнаружении ошибки, и решении задачи..


Последний раз редактировалось Mr. Fixit; 06.11.2007 в 03:59.
Старый 06.11.2007, 04:59
kruasan вне форума Посмотреть профиль Отправить личное сообщение для kruasan Найти все сообщения от kruasan
  № 2  
Ответить с цитированием
kruasan
 
Аватар для kruasan

Регистрация: May 2004
Адрес: Kiev
Сообщений: 704
Причина в том, что сначала срабатывает onMouseMove, лишь затем Selection обновляет значения индексов. Т.е. узнавать индексы надо с некоторой задержкой. Давай попробуем определять индексы не сразу, а через 0 миллисекунд :-) (почувствуйте разницу)
Код:
var mL:Object = Object();
function traceIndexes()
{
	clearInterval(mL.intervalId);
	
	beginIndex = Selection.getBeginIndex ();
	endIndex = Selection.getEndIndex ();

	trace(beginIndex);
	trace(endIndex);
	trace('----------------------\n');

	updateAfterEvent();
}

mL.onMouseMove = function () 
{
	this.intervalId = setInterval(traceIndexes,0)
}
Mouse.addListener(mL);
Теперь индексы отображаются правильно.

Кстати, в твоем коде одна лишняя фигурная скобка


Последний раз редактировалось kruasan; 06.11.2007 в 05:05.
Старый 06.11.2007, 10:52
Mr. Fixit вне форума Посмотреть профиль Найти все сообщения от Mr. Fixit
  № 3  
Ответить с цитированием
Mr. Fixit
Banned
[+1 08.05.08]
[+4 14.04.08]
[+1.3 02.05.08]

Регистрация: Oct 2006
Адрес: кагбэ Киеф!!1
Сообщений: 1,473
спс конечно.. решить можно заменив onMouseMove на onEnterFrame

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

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

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


 


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


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