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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 15.09.2014, 03:35
neonoviiwolf вне форума Посмотреть профиль Отправить личное сообщение для neonoviiwolf Найти все сообщения от neonoviiwolf
  № 1  
Ответить с цитированием
neonoviiwolf

Регистрация: Jun 2014
Сообщений: 558
По умолчанию вопрос по слушателям и хиттест

Добрый день!
Вопрос возник по слушателям, в чём разница между слушателями к примеру stage.addEventListener() и addEventListener() - у меня в обоих случаях всё работает одинаково. Так же зачем писать к примеру name_muvik.addEventListener(), где name_muvik - название мувика например?

По хиттесту, есть ли встроенная функция в экш, которая определяет столкновение не по рамке мувика, а по самому рисунку (если форма сложная например)

Так же вопрос в принципе для меня интересный, есть мувики, которые движутся и для них нужно сделать хиттест, скорость высокая, по этом и расчёт столкновений нужно искать между кадрами. Но движение мувика хаотичны, т.е. невозможно просчитать точку нахождения объекта в следующем кадре наверняка, на данный момент по сложности движения возможны 2 точки нахождения мувика в следующем кадре. Как решить данный вопрос, ведь в одном варианте например столкновение будет, во втором нет, но вот точно определить нахождение мувика невозможно заранее и из-за высокой скорости необходимо заранее просчитывать столкновения

Старый 15.09.2014, 10:57
delphic вне форума Посмотреть профиль Отправить личное сообщение для delphic Найти все сообщения от delphic
  № 2  
Ответить с цитированием
delphic

Регистрация: Apr 2014
Сообщений: 215
stage.addEventListener() и addEventListener() да разницы как я понял нету, я на одном из форумов задал этот вопрос и как я понял что это просто стиль писания, то есть принято так stage.addEventListener() в главном классе, в остальных this.addEventListener(), хотя я сам не уверен и вот такую конструкцию покажу - this.stage.dispatchEvent вот так )))). Сколько лично я пробовал без уточнений stage и this писать, работало всегда, может лучше писать где знаешь уточнение, а где нет, без уточнений. name_muvik.addEventListener() ну это уже очень просто, имя нужно для обращения, вот допустим тебя звать вася, я крикну саша ты же не отреагируешь именно на сашу, так же и тут, всяким таким инструментам, для обращения ты должен указывать его имя как в коде так и в свойствах. Насчет как просчитать, у меня еще опыта маловато пока, даже не знаю как это делать, но буду следить за темой, самому интересно, вопросы то кстати все очень интересные и я думаю может даже обсуждение будет

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

Регистрация: May 2011
Сообщений: 301
Записей в блоге: 2
delphic
не вводите человека в заблуждение.

neonoviiwolf
stage - основной контейнер сцены. Когда вы пишете stage.addEventListener это означает, что вы хотите слушать событие предназначенное для этого самого основного контейнера. Если на сцену вы добавили скажем спрайт с именем mysprite, то для того, чтобы спрайт имел возможность обработать событие, предназначенное именно ему, вы будете писать mysprite.addEventListener. Если в сцене есть еще один спрайт mysprite2, то чтобы он обрабатывал свои события, вам надо будет писать mysprite2.addEventListener. Если же вы напишете stage.addEventListener вы получите обработку события для всех объектов сцены. Подробнее про обработку событий почитайте здесь http://help.adobe.com/ru_RU/ActionSc...0204-7fca.html
__________________
interplanety

Старый 15.09.2014, 13:25
delphic вне форума Посмотреть профиль Отправить личное сообщение для delphic Найти все сообщения от delphic
  № 4  
Ответить с цитированием
delphic

Регистрация: Apr 2014
Сообщений: 215
Цитата:
Сообщение от Korchy Посмотреть сообщение
delphic
не вводите человека в заблуждение.

neonoviiwolf
stage - основной контейнер сцены. Когда вы пишете stage.addEventListener это означает, что вы хотите слушать событие предназначенное для этого самого основного контейнера. Если на сцену вы добавили скажем спрайт с именем mysprite, то для того, чтобы спрайт имел возможность обработать событие, предназначенное именно ему, вы будете писать mysprite.addEventListener. Если в сцене есть еще один спрайт mysprite2, то чтобы он обрабатывал свои события, вам надо будет писать mysprite2.addEventListener. Если же вы напишете stage.addEventListener вы получите обработку события для всех объектов сцены. Подробнее про обработку событий почитайте здесь http://help.adobe.com/ru_RU/ActionSc...0204-7fca.html
интересно в чем именно я ввожу в заблуждение - stage.addEventListener и addEventListener будут работать, и насколько я понял он разницу просто спрашивает, а не понятия.Смысл такой addChild() или stage.addChild() покажет нам что то, так некоторые пишут так, а кто та эдак, вот он о чем скорей всего имел ввиду

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

Регистрация: Jul 2009
Сообщений: 149
Цитата:
интересно в чем именно я ввожу в заблуждение
Тем, что говорите:
Цитата:
stage.addEventListener() и addEventListener() да разницы как я понял нету
Это не так.

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

блогер
Регистрация: Mar 2008
Адрес: Днепропетровск
Сообщений: 1,783
Записей в блоге: 3
Цитата:
Сообщение от delphic Посмотреть сообщение
stage.addEventListener() и addEventListener() да разницы как я понял нету, я на одном из форумов задал этот вопрос и как я понял что это просто стиль писания, то есть принято так stage.addEventListener() в главном классе, в остальных this.addEventListener()
Нет, нет, это не стиль написания, это скорее недопонимание.

Цитата:
Сообщение от delphic Посмотреть сообщение
Смысл такой addChild() или stage.addChild() покажет нам что то, так некоторые пишут так, а кто та эдак,
Здесь просто огромная разница. Допустим добавить кнопку в проигрыватель или добавить кнопку на сцену - не одно и то же, верно?

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

Регистрация: Jan 2008
Адрес: Земля
Сообщений: 178
Цитата:
Сообщение от delphic Посмотреть сообщение
некоторые пишут так, а кто та эдак
Все зависит от того в каком месте это пишут! Если писать на основной временной шкале в среде разработки Adobe Flash CS6 например, то да, действительно, разница есть, но ей можно пренебречь в некоторых случаях. А если писать "внутри" созданного на этой шкале MovieClip'а - то разница колоссальная

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

Регистрация: May 2011
Сообщений: 301
Записей в блоге: 2
delphic

Попробую предположить, что вы путаете this и stage.
вот это:
this.addEventListener()
и
addEventListener()
действительно стиль и писать или не писать this - дело нотаций, установленных в команде разработчиков.
А
stage.addEventListener()
и
addEventListener()
нужно очень хорошо понимать, в каком случае это будет одно и то же, а в каком - две большие разницы. Одним и тем же это будет только в случае, если вы пишете это в контейнере сцены (stage). Написав это, например, в классе кнопки вы получите в каждом случае разный результат.
__________________
interplanety

Старый 15.09.2014, 17:18
delphic вне форума Посмотреть профиль Отправить личное сообщение для delphic Найти все сообщения от delphic
  № 9  
Ответить с цитированием
delphic

Регистрация: Apr 2014
Сообщений: 215
ну про кнопки это понятно, я вообще о сцене говорил, даже в первом моем сообщение я нормально сказал о кнопке, что да, там обращение нужно,так как указываешь кому это относится, а вот со сценой, да немного недопонимал, но вот после обсуждения уже понял смысл написаний stage.addEventListener() и addEventListener(), вообще да, лучше уточнение, то есть будет для себя понятней кому и что ты приказываешь делать, я иногда этим пренебрегал, а сейчас думаю что зря, намного понятней когда смотришь код с уточнением.

все будет работать без stage и this если правильно писать, но есть свои но ....)))


Последний раз редактировалось delphic; 15.09.2014 в 17:29.
Старый 15.09.2014, 17:44
silin вне форума Посмотреть профиль Посетить домашнюю страницу silin Найти все сообщения от silin
  № 10  
Ответить с цитированием
silin
 
Аватар для silin

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
Цитата:
Сообщение от Korchy Посмотреть сообщение
delphic

Попробую предположить, что вы путаете this и stage.
вот это:
this.addEventListener()
и
addEventListener()
действительно стиль и писать или не писать this - дело нотаций, установленных в команде разработчиков.
А
stage.addEventListener()
и
addEventListener()
нужно очень хорошо понимать, в каком случае это будет одно и то же, а в каком - две большие разницы. Одним и тем же это будет только в случае, если вы пишете это в контейнере сцены (stage). Написав это, например, в классе кнопки вы получите в каждом случае разный результат.
однако и здесь путаница: нельзя же ничего написать в stage (потому как это объект плеера), когда вы пишете в контейнере сцены ( в IDE-шной терминологии), то пишите вы в root'е (он же Document class), в вовсе не в stage
т.е. stage.addEventListener() и addEventListener() не могут быть одним и тем же в принципе
другое дело что это может быть одинаковым по результату из-за всплытия события, но это другой вопрос

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

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

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


 


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


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