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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 10.10.2009, 22:07
Psycho Tiger вне форума Посмотреть профиль Отправить личное сообщение для Psycho Tiger Найти все сообщения от Psycho Tiger
  № 1  
Ответить с цитированием
Psycho Tiger
 
Аватар для Psycho Tiger

блогер
Регистрация: Jun 2005
Адрес: Новосибирск :D
Сообщений: 6,597
Записей в блоге: 17
По умолчанию Сэмулировать клик по сцене

Интересует, а возможно ли обмануть всех и заставить флешку думать, что только что произошел клик юзером. Не важно где. Чтобы те клипы, которые под мышкой получили события клика? Была идея с getObjectsUnderPoint, но как там сэмулировать клик, ведь имена методов-обработчиков совершенно разные, да и более того, может быть подписан чей то ребенок, а обработчик быть в родителе... то есть нужно именно испустить такое событие. Как?

Старый 10.10.2009, 22:46
alecsisk вне форума Посмотреть профиль Отправить личное сообщение для alecsisk Найти все сообщения от alecsisk
  № 2  
Ответить с цитированием
alecsisk

Регистрация: Feb 2008
Адрес: N.Novgorod
Сообщений: 80
Отправить сообщение для alecsisk с помощью ICQ
Код AS3:
dispatchEvent(new MouseEvent(MouseEvent.CLICK));
?
LOL, выглядит конечно прикольно.

Старый 10.10.2009, 23:58
elfon вне форума Посмотреть профиль Отправить личное сообщение для elfon Найти все сообщения от elfon
  № 3  
Ответить с цитированием
elfon
 
Аватар для elfon

Регистрация: Jul 2009
Сообщений: 35
Работает, классная фишка.

Старый 12.10.2009, 19:14
Psycho Tiger вне форума Посмотреть профиль Отправить личное сообщение для Psycho Tiger Найти все сообщения от Psycho Tiger
  № 4  
Ответить с цитированием
Psycho Tiger
 
Аватар для Psycho Tiger

блогер
Регистрация: Jun 2005
Адрес: Новосибирск :D
Сообщений: 6,597
Записей в блоге: 17
Код AS3:
package 
{
	import flash.display.Sprite;
	import flash.events.Event;
	import flash.events.KeyboardEvent;
	import flash.events.MouseEvent;
 
	/**
	 * ...
	 * @author FluFme
	 */
 
	public class Main extends Sprite 
	{
 
		public function Main():void 
		{
			if (stage) init();
			else addEventListener(Event.ADDED_TO_STAGE, init);
		}
 
 
		private function init(e:Event = null):void 
		{
 
			removeEventListener(Event.ADDED_TO_STAGE, init);
			// entry point
			var l:Sprite = new Sprite();
			l.graphics.beginFill(0xFFFFFF * Math.random(), 1);
			l.graphics.drawRect(0, 0, 200, 200);
			l.x = 100;
			l.y = 100;
			addChild(l);
			var c:Sprite = new Sprite();
			c.graphics.beginFill(0xFFFFFF * Math.random(), 1);
			c.graphics.drawRect(0, 0, 100, 100);
			c.x = 100;
			c.y = 100;
			addChild(c);
 
			c.addEventListener(MouseEvent.CLICK, click2);
			l.addEventListener(MouseEvent.CLICK, click1);
			stage.addEventListener(MouseEvent.CLICK, click);
 
			stage.addEventListener(KeyboardEvent.KEY_DOWN, onKey);
		}
 
		private function onKey(e:KeyboardEvent):void 
		{
			dispatchEvent(new MouseEvent(MouseEvent.CLICK));
		}
 
		private function click(e:MouseEvent):void 
		{
			trace("Stage");
		}
 
		private function click1(e:MouseEvent):void 
		{
			trace("1");
		}
 
		private function click2(e:MouseEvent):void 
		{
			trace("2");
		}
 
	}
 
}
При клавиатуре работает только Stage.

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

Регистрация: Jul 2009
Сообщений: 35
Естественным путём события мыши рассылают конечные объекты, а не контейнер.
Событие просто не доходит до C и L.

Старый 12.10.2009, 21:09
Psycho Tiger вне форума Посмотреть профиль Отправить личное сообщение для Psycho Tiger Найти все сообщения от Psycho Tiger
  № 6  
Ответить с цитированием
Psycho Tiger
 
Аватар для Psycho Tiger

блогер
Регистрация: Jun 2005
Адрес: Новосибирск :D
Сообщений: 6,597
Записей в блоге: 17
Цитата:
Сообщение от elfon Посмотреть сообщение
Естественным путём события мыши рассылают конечные объекты, а не контейнер.
Событие просто не доходит до C и L.
Именно. Единственное что вижу - это getObjectsUnderPoint, и уже там рассылать мышинный клик - и там уже генерировать события.
Просто хотел узнать, нет ли более правильного варианта.

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

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

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


 


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


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