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

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

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

Регистрация: Jan 2013
Сообщений: 550
Записей в блоге: 1
Я с кастомными событиями мучился до того самого момента, пока не наткнулся на сигналы)
Разбираться с ними - плевое дело, один пятиминутный тутор и ты уже good to go, никаких заморочек.

Опять же, это дело вкуса и привычки.
Для полноты картины и кругозора, вдруг понравится

Старый 13.03.2014, 23:38
dimarik вне форума Посмотреть профиль Отправить личное сообщение для dimarik Найти все сообщения от dimarik
  № 12  
Ответить с цитированием
dimarik
.
 
Аватар для dimarik

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
Цитата:
Сообщение от Akopalipsis Посмотреть сообщение
Присвойте свойствам имен значение констант и тогда получится -
Код AS3:
private function foodBtnMouseDown(e:MouseEvent):void {   // обрабатывает события мыши
 var newName:String = String(e.currentTarget);
 var nameObj:String = newName.substring(8, (newName.length - 2));
 dispatchEvent(new Event(nameObj));
}
Код AS3:
var newName:String = String(e.currentTarget);
Как ты считаешь, что вернет в newName от дефолтного Object.toString() для объектов классов foo.Bar и foobar.Bar?

Чудак, ты вообще думаешь, что делаешь? У меня такое желание дать тебе третий плюс и распрощаться. Навсегда.
__________________
Воспитан в TimeZero. Работаю в Mail.ru.

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

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
Сорри, до завершения расследования я тебя пока блокну.

Добавлено через 13 минут
Цитата:
Сообщение от caseyryan Посмотреть сообщение
Не самый простой вариант. С ними разобраться сложнее, чем с событиями
Как по мне, так эти сигналы вообще фигня какая-то
Сигналы... Вот немного пытался разобраться, но хочу прислушаться к твоему мнению.
Как считаешь, сигналы дают прирост к производительности против обычных эвентов?
__________________
Воспитан в TimeZero. Работаю в Mail.ru.


Последний раз редактировалось dimarik; 14.03.2014 в 01:01. Причина: Запятую лишнюю вымарал
Старый 14.03.2014, 00:45
KumoKairo вне форума Посмотреть профиль Отправить личное сообщение для KumoKairo Найти все сообщения от KumoKairo
  № 14  
Ответить с цитированием
KumoKairo
 
Аватар для KumoKairo

Регистрация: Jan 2013
Сообщений: 550
Записей в блоге: 1
Performance test
Performance test 1
Pro and Cons
Но Joshua в свое время отказался от as3-signals в пользу старых событий Starling (речь идет о кастомных самописных события Starling, а не нативных событий с клонированием), но только ссылаясь на то, что Starling события с функцией .dispatchEventWith(...) полностью заменяет логику сигналов (Этот метод действительно очень ХАРОШ).
http://forum.starling-framework.org/...o-more-signals

Еще раз - я не говорю что все поголовно срочно должны перейти на сигналы, никого не принуждаю и не утверждаю, что это едиственно верный способ программирования. Свой пост я написал больше для создания более общей картины, потому что эта библиотека стоит того, чтобы (просто) обратить на нее внимание.

Если нужен баблинг - стандартные события выигрывают по семантике.

Сигналы - это примерный аналог системы событий в C#. Кто-то на форуме говорил, что делать C# из AS3 крайне неэтично и прочее, но опять же, все зависит от конкретного человека и конкретного случая)
В моем случае - мне очень нравится система событий и делегатов C#, поэтому когда я использовал AS3 - сигналы стали для меня просто спасением (до этого я делал кастомные события). Можно считать это приступом программистского эскапизма от реалий конкретного языка.

Доказывать ничего не собираюсь (и не собирался), инет и так полон обсуждений. Можно нагуглить много инфы по запросу as3 signals vs events, там все косточки уже аккуратно пересчитаны и пересобраны

Старый 14.03.2014, 01:18
СлаваRa вне форума Посмотреть профиль Отправить личное сообщение для СлаваRa Найти все сообщения от СлаваRa
  № 15  
Ответить с цитированием
СлаваRa
 
Аватар для СлаваRa

блогер
Регистрация: Feb 2008
Адрес: http://playtika.com
Сообщений: 1,119
Записей в блоге: 5
Отправить сообщение для СлаваRa с помощью ICQ Отправить сообщение для СлаваRa с помощью Skype™
Цитата:
Сообщение от dimarik Посмотреть сообщение
Как считаешь, сигналы дают прирост к производительности против обычных эвентов?
Да, дают(проверенно), но создают проблемы:
- на каждый сигнал отдельное поле
- евенты любого типа можно "стрелять" от наследников евент диспатчера, сигналы или от супера(+п1) или каждый раз создавать для каждой сущности
- "поведение баблинга" реализуется через "мягкое место"
- не будет поддержки от IDE(хотя это уже сахар) с метой и т.п.

@KumoKario
Цитата:
Сигналы - это примерный аналог системы событий в C#.
Вы, видимо, очень плохо с C#.
__________________
местонахождение

Старый 14.03.2014, 01:48
dimarik вне форума Посмотреть профиль Отправить личное сообщение для dimarik Найти все сообщения от dimarik
  № 16  
Ответить с цитированием
dimarik
.
 
Аватар для dimarik

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
А не напомните ли основную идею сигналов?

И спасибо за отклики. Кто-нибудь тестировал производительность сигналов vs. событий по Adobe Scоut на мобилке, с оглядкой на расход памяти? И проблемы, затронутые СлаваRa не создадут ли принципиальный барьер для архитектуры?
__________________
Воспитан в TimeZero. Работаю в Mail.ru.

Старый 14.03.2014, 02:11
СлаваRa вне форума Посмотреть профиль Отправить личное сообщение для СлаваRa Найти все сообщения от СлаваRa
  № 17  
Ответить с цитированием
СлаваRa
 
Аватар для СлаваRa

блогер
Регистрация: Feb 2008
Адрес: http://playtika.com
Сообщений: 1,119
Записей в блоге: 5
Отправить сообщение для СлаваRa с помощью ICQ Отправить сообщение для СлаваRa с помощью Skype™
Дим, могу тебе скинуть все и вся по ним, в плане тестов и работы, затронут и архитектуру и прочее, насколько я знаю.
Наши с тобой подходы не подходят.

Выигрыш будет в единичных случая, в целом нет.
__________________
местонахождение

Старый 14.03.2014, 02:18
dimarik вне форума Посмотреть профиль Отправить личное сообщение для dimarik Найти все сообщения от dimarik
  № 18  
Ответить с цитированием
dimarik
.
 
Аватар для dimarik

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
Слав, хочу, однозначно. Сидувай.
__________________
Воспитан в TimeZero. Работаю в Mail.ru.

Старый 14.03.2014, 06:11
Isfet вне форума Посмотреть профиль Отправить личное сообщение для Isfet Найти все сообщения от Isfet
  № 19  
Ответить с цитированием
Isfet

Регистрация: Mar 2012
Адрес: г.Новосибирск
Сообщений: 381
по теме, как по мне, то я бы в кнопке хранил строку ("meet" или "grass" или "carrot"), и в кнопке же сделал функцию которая бы возвращала эту строку , а в хендлере написал бы что-то вроде
Код AS3:
private function foodBtnMouseDown(e:MouseEvent):void {   // обрабатывает события мыши
 
    if(e.target is FoodButton){
          var btnStr:String = (e.target as FoodButton).getFoodName(); // витаскиваем имя еды из нажатой кнопки
 
          //дальше пошел case
    }
}

Старый 19.03.2014, 21:26
dimarik вне форума Посмотреть профиль Отправить личное сообщение для dimarik Найти все сообщения от dimarik
  № 20  
Ответить с цитированием
dimarik
.
 
Аватар для dimarik

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
По сути, достаточно хорошее обмусоливание вынесено в статьи.
Форум Flasher.ru > Flash > ActionScript 3.0 > Статьи > Слушатель с параметром
__________________
Воспитан в TimeZero. Работаю в Mail.ru.

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

Теги
//

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

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


 


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


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