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

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

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

Регистрация: Feb 2012
Сообщений: 14
По умолчанию Слушатели MOUSE_MOVE и MOUSE_OUT для stage

В общем так:
Есть главная сцена, на ней два слоя. Первый слой содержит кадр со скриптом, второй - кадр с мувиклипом.
Мувиклип содержит анимацию, например, движение текста.

Хочу чтоб при нахождении мыши на сцене, проигрывался мувиклип, а при выходе мыши со сцены, анимация мувиклипа перемещалась на 1й кадр и стопарилась.

Код AS3:
stage.addEventListener(MouseEvents:MOUSE_OVER, goOn);
stage.addEventListener(MouseEvents:MOUSE_OUT, goSTOP);
 
function goON(event:MouseEvents):void
 {
   mv1.gotoAndPlay(2);
 }
 
function goSTOP(event:MouseEvents):void
 {
   mv1.gotoAndSTOP(1);
 }
Почему при наведении на сцену, код не срабатывает, а срабатывает только при наведении на сам мувиклип?
Пробовал добавить мувиклип с белым фоном на 3й слой в главной сцене, помогло, но когда я успеваю навести мышь на мувиклип с анимированным текстом, срабатывает событие MOUSE_OUT? Объясните, пожалуйста, что не так?

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

Регистрация: May 2008
Адрес: {0,0}
Сообщений: 754
Записей в блоге: 1
Отправить сообщение для DaFive с помощью ICQ
ROLL_OVER, ROLL_OUT
__________________
Кодинг, багинг, алгоритминг. me @

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

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
Difference between MouseEvent.ROLL_OVER and MouseEvent.MOUSE_OVER in AS3

http://www.flasher.ru/forum/showthread.php?t=127100
__________________
Воспитан в TimeZero. Работаю в Mail.ru.

Старый 02.02.2012, 15:55
DimkaN вне форума Посмотреть профиль Отправить личное сообщение для DimkaN Найти все сообщения от DimkaN
  № 4  
Ответить с цитированием
DimkaN

Регистрация: Feb 2012
Сообщений: 14
Если так, то срабатывает при наведении на сам мувиклип
Код AS3:
mv1.addEventListener(MouseEvent.ROLL_OVER,fck);
 
function fck(event:MouseEvent):void {
	trace("dfg");
}
А если так
Код AS3:
stage.addEventListener(MouseEvent.ROLL_OVER,fck);
 
function fck(event:MouseEvent):void {
	trace("dfg");
}
Вообще не срабатывает


Последний раз редактировалось DimkaN; 02.02.2012 в 16:26.
Старый 02.02.2012, 16:50
willis83 вне форума Посмотреть профиль Отправить личное сообщение для willis83 Найти все сообщения от willis83
  № 5  
Ответить с цитированием
willis83
 
Аватар для willis83

Регистрация: Jan 2008
Адрес: Украина, Славутич
Сообщений: 646
Отправить сообщение для willis83 с помощью ICQ
У вас мышь всегда над stage'м, поэтому второй вариант не работает

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

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Код AS3:
stage.addEventListener(MouseEvent.ROLL_OVER, goOn);
stage.addEventListener(Event.MOUSE_LEAVE, goSTOP);
__________________
Reality.getBounds(this);

Старый 02.02.2012, 17:50
DimkaN вне форума Посмотреть профиль Отправить личное сообщение для DimkaN Найти все сообщения от DimkaN
  № 7  
Ответить с цитированием
DimkaN

Регистрация: Feb 2012
Сообщений: 14
Короче, пасаны, всем спасибо. Вот что у меня заработало в итоге.
Добавил еще один слой с белым фоном в самый низ и в кадре слоя со скриптами написал:

Код AS3:
root.addEventListener(MouseEvent.ROLL_OVER,openBanner);
root.addEventListener(MouseEvent.ROLL_OUT,closeBanner);
 
function openBanner(event:MouseEvent):void {
	mv1.gotoAndPlay(2);
}
 
function closeBanner(event:MouseEvent):void {
	mv1.gotoAndPlay(1);
}
Не могу ток я понять почему у меня stage не пашет, и чем отличается от root. Я думал что stage это все пространство сцены и без мувиклипов. Пробовал добавлять слушатели к кадру для пустой сцены - не работают... Добавил один клип - работает, но только при наведении на него, хотя слушатель прикреплен к stage...

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

Регистрация: Nov 2010
Адрес: 48° 55'N 24° 42'E GMT +2:00
Сообщений: 399
Записей в блоге: 1
Если вы создадите пустой МувиКлип или спрайт, то они тоже не смогут реагировать на мышиные евенты, так как на них не получится навести курсор (у них как бы нет тела). То же самое с стейджем. Но в отличии от root, стейдж не является посто ДисплейОбджектом, он как бы выступает в роли контекста отображения. В смысле он представляет сам плеер с его параметрами, а root - это уже ролик, который воспроизводится в этом плеере.
Извините за такой сумбур, но он мне помогает понимать разницу между stage и root

Старый 29.04.2012, 07:46
BlackMetal вне форума Посмотреть профиль Отправить личное сообщение для BlackMetal Найти все сообщения от BlackMetal
  № 9  
Ответить с цитированием
BlackMetal

Регистрация: May 2009
Сообщений: 54
У меня такой же вопрос объявился в связи с изменением размера флешки через JavaScript посредством ExternalInteface.

Как отследить ВХОД/ВЫХОД мыши на Stage, если Stage пустой, но допустим имеет размеры и фон?
Автору топика пришлось создать еще мувик размерами со Stage, чтоб уже от него следить, но можно ли обойтись без этого?

Чтоб отследить уход мыши с пустого Stage есть слушатель Event.MOUSE_LEAVE, а как же отследить вход на пустой Stage?

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

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Код AS3:
stage.addEventListener(MouseEvent.MOUSE_MOVE, handlerMove);
__________________
Reality.getBounds(this);

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

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

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


 


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


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