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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 30.05.2008, 01:50
badun вне форума Посмотреть профиль Отправить личное сообщение для badun Найти все сообщения от badun
  № 11  
Ответить с цитированием
badun

Регистрация: Dec 2007
Сообщений: 269
Код:
	private var tf:TextField;

...

	tf.mouseEnabled = false;
	stage.addEventListener(MouseEvent.CLICK, onClick);

...

	private function onClick(e:MouseEvent):void 
	{
		var index:int = tf.getCharIndexAtPoint(e.stageX, e.stageY);
		if (index >= 0) 
		{
			var url:String = tf.getTextFormat(index).url;
			if (url) 
				processLink(url);
		}
	}
	
	private function processLink(url:String):void 
	{
		trace(url);
	}
ничего изящнее в голову не пришло


Последний раз редактировалось badun; 30.05.2008 в 02:43.
Старый 30.05.2008, 02:25
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 12  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
badun: для клика и так есть евент... %) TeхtEvent.LINK называется =) его-то как раз ловить не нужно =)

Вобщем, эксперементальным путем было установлено, что если какое-нибудь из визуальных свойств меняется при наведении мыши, то текстформат тоже меняется. т.е. теоретически записав все линки и все их свойства и с определенным интервалом проверяя их консистентность можно выяснить над каким линком сейчас мышка (если не очень быстро ею водить =)... но это какое-то дурацкое решение =) Глупо то, что нельзя никак получить список всех используемых текстформатов для данного поля и нельзя вотчем смотреть, какое же свойство поменялось...
__________________
Hell is the possibility of sanity

Старый 30.05.2008, 02:43
badun вне форума Посмотреть профиль Отправить личное сообщение для badun Найти все сообщения от badun
  № 13  
Ответить с цитированием
badun

Регистрация: Dec 2007
Сообщений: 269
Цитата:
Сообщение от wvxvw Посмотреть сообщение
badun: для клика и так есть евент... %) TeхtEvent.LINK называется =) его-то как раз ловить не нужно =)
Ты не понял. Там стоит tf.mouseEnabled = false, чтобы курсор-указательный палец не появлялся, который уже не скрыть с помощью Mouse.hide(). Но в таком случае текстовые ссылки тоже нерабочими становятся, вот я и показал деревянный способ как эту ссылку вытянуть.

Старый 30.05.2008, 04:24
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 14  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
а, ну да... тоже вариант...
только, я нинаю, мне интереснее получить событие, когда курсор находится над ссылкой, а не поменять его форму... плеер же его как-то получает...
Код:
var tf:TextField = new TextField();
tf.htmlText = 'lalalalalal lalalala <a href="event:abcd">text</a> lalalal lalalal lalalal alal\ralalalalalalala lalalal';
tf.autoSize = 'left';
addChild(tf);

tf.addEventListener(MouseEvent.MOUSE_MOVE, mouseMoveHandler);
function mouseMoveHandler(evt:MouseEvent):void {
	var ix:int = tf.getCharIndexAtPoint(evt.localX, evt.localY);
	if (ix >= 20 && ix < 25) {
		trace('mouse hovers over link');
	}
}
сам спросил, сам ответил %) вобщем =)
__________________
Hell is the possibility of sanity


Последний раз редактировалось wvxvw; 30.05.2008 в 04:39.
Создать новую тему Ответ Часовой пояс GMT +4, время: 07:21.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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