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

Вернуться   Форум Flasher.ru > Flasher.ru > Флейм

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

блогер
Регистрация: Jan 2011
Сообщений: 1,162
Записей в блоге: 4
По умолчанию В AS 3.0 нехватает типов событий.

... Мне так кажется. Основным Display Object'ам для большей абстракции. Я бы хотел, чтобы было событие, например, Event.Movie для того, чтобы объект мог сообразить, что его перемещают. Всё равно кто - parent-объект или пользователь. А, то паренту приходится информировать чилда, что его вот уже 15 кадров по асфальту мордой таскают . Или например Event.Resize, для того, чтобы сообщить объекту что его размеры изменяются чем то или кем то снаружи. Такие события сделали бы объект более похожим на физические объекты реального мира. Как думаете?

Может это очевидно, да сложности с практической реализацией?

А кому, ещё каких событий не хватает?

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

блогер
Регистрация: Mar 2008
Адрес: РФ, Санкт-Петербург
Сообщений: 2,272
Записей в блоге: 5
Отправить сообщение для gloomyBrain с помощью ICQ Отправить сообщение для gloomyBrain с помощью Skype™
Цитата:
например, Event.Movie для того, чтобы объект мог сообразить, что его перемещают.
Для этого можно переопределить методы get x /set x, get y/set y. Равно как и с ресайзом
__________________
...вселенская грусть

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

Регистрация: May 2003
Адрес: Tallinn
Сообщений: 3,181
Код AS3:
package {
	import flash.display.DisplayObject;
	import flash.events.Event;
 
	/**
	 * ...
	 * @author Anton Nefjodov
	 */
	public class CommonDisplayObject extends DisplayObject {
 
		public function CommonDisplayObject() {
			super()
		}
 
		override public function set x(value:Number):void {
			super.x = value;
 
			dispatchEvent(new Event("move"));
		}
 
		override public function set y(value:Number):void {
			super.y = value;
 
			dispatchEvent(new Event("move"));
		}
 
		override public function set z(value:Number):void {
			super.z = value;
 
			dispatchEvent(new Event("move"));
		}
	}
 
}
__________________
Flash Developer
Папа TDP4 Team Battle

Старый 11.03.2011, 13:34
fish_r вне форума Посмотреть профиль Отправить личное сообщение для fish_r Посетить домашнюю страницу fish_r Найти все сообщения от fish_r
  № 4  
Ответить с цитированием
fish_r
 
Аватар для fish_r

блогер
Регистрация: Jan 2011
Сообщений: 1,162
Записей в блоге: 4
Ух-ты!!! Thank's! Блин, сам бы не додумался.

Добавлено через 2 минуты
Цитата:
Сообщение от CrazyFlasher Посмотреть сообщение
Код AS3:
package {
	import flash.display.DisplayObject;
	import flash.events.Event;
 
	/**
	 * ...
	 * @author Anton Nefjodov
	 */
	public class CommonDisplayObject extends DisplayObject {
 
		public function CommonDisplayObject() {
			super()
		}
 
		override public function set x(value:Number):void {
			super.x = value;
 
			dispatchEvent(new Event("move"));
		}
 
		override public function set y(value:Number):void {
			super.y = value;
 
			dispatchEvent(new Event("move"));
		}
 
		override public function set z(value:Number):void {
			super.z = value;
 
			dispatchEvent(new Event("move"));
		}
	}
 
}
А как в вашем коде на событие подписаться?

Старый 11.03.2011, 13:44
goodguy вне форума Посмотреть профиль Найти все сообщения от goodguy
  № 5  
Ответить с цитированием
goodguy
Banned
[+1 05.11.11]
[+1 09.08.11]

Регистрация: Jan 2010
Адрес: РФ. Кемеровская область
Сообщений: 3,243
Можно и свое событие создать, в чем проблема то? Не понимаю как их может не хватать.

Цитата:
А как в вашем коде на событие подписаться?
Зачем подписываться на событие в коде, который это событие и посылает? Очевидно, что подписываются на событие где-то в другом месте. Как обычно:

Код AS3:
someObject.addEventListener("move", doSomething, false, 0, true);


Последний раз редактировалось goodguy; 11.03.2011 в 13:50.
Старый 11.03.2011, 13:47
CrazyFlasher вне форума Посмотреть профиль Отправить личное сообщение для CrazyFlasher Найти все сообщения от CrazyFlasher
  № 6  
Ответить с цитированием
CrazyFlasher
 
Аватар для CrazyFlasher

Регистрация: May 2003
Адрес: Tallinn
Сообщений: 3,181
Код AS3:
commonDsiplayObject.addEventListener("move", onMove);
__________________
Flash Developer
Папа TDP4 Team Battle

Старый 11.03.2011, 13:59
fish_r вне форума Посмотреть профиль Отправить личное сообщение для fish_r Посетить домашнюю страницу fish_r Найти все сообщения от fish_r
  № 7  
Ответить с цитированием
fish_r
 
Аватар для fish_r

блогер
Регистрация: Jan 2011
Сообщений: 1,162
Записей в блоге: 4
Цитата:
Сообщение от CrazyFlasher Посмотреть сообщение
...
Спасибо, еще раз!

Старый 11.03.2011, 14:00
CrazyFlasher вне форума Посмотреть профиль Отправить личное сообщение для CrazyFlasher Найти все сообщения от CrazyFlasher
  № 8  
Ответить с цитированием
CrazyFlasher
 
Аватар для CrazyFlasher

Регистрация: May 2003
Адрес: Tallinn
Сообщений: 3,181
2goodguy: WeakReference - зло
__________________
Flash Developer
Папа TDP4 Team Battle

Старый 11.03.2011, 14:05
fish_r вне форума Посмотреть профиль Отправить личное сообщение для fish_r Посетить домашнюю страницу fish_r Найти все сообщения от fish_r
  № 9  
Ответить с цитированием
fish_r
 
Аватар для fish_r

блогер
Регистрация: Jan 2011
Сообщений: 1,162
Записей в блоге: 4
Цитата:
Сообщение от goodguy Посмотреть сообщение
...Зачем подписываться на событие в коде, который это событие и посылает? ...
За тем, что это событие интересует именно тот объект который его и послал, конечно.
Хотя тут, конечно, можно уже и прямо метод вызывать.... в общем, да, вы правы, это в общем то и не нужно.


Последний раз редактировалось fish_r; 11.03.2011 в 14:45.
Старый 11.03.2011, 14:55
Diestro вне форума Посмотреть профиль Отправить личное сообщение для Diestro Посетить домашнюю страницу Diestro Найти все сообщения от Diestro
  № 10  
Ответить с цитированием
Diestro
 
Аватар для Diestro

Регистрация: Oct 2006
Адрес: Кисловодск
Сообщений: 192
Отправить сообщение для Diestro с помощью ICQ
Схема с переопределением сеттеров на свойства x и y не всегда поможет. В частности при использовании startDrag().
__________________
blog.diestro.ru

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

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

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


 


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


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