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

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

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

Регистрация: Aug 2011
Сообщений: 35
Отправить сообщение для Tasmanec с помощью Skype™
По умолчанию Loader() и события для него

Всем доброго времени суток. В Action Script новичок. Есть вопрос: Как записать код прослушивания события MOUSE_DOWN для объекта(конкретно jpg изображение), загруженного в Loader?

нужно, чтобы изображение поворачивалось при нажатии на него, но почему то нет никакой реакции
вот кусок кода:

Код AS3:
public class BitmapLoader extends Sprite {
     var loader:Loader; 
 
    public function BitmapLoader() {
 
      loader = new Loader();
 
 
     loader.load(new URLRequest("http://www.adobe.com/shockwave/download/images/flashplayer_100x100.jpg"));
     loader.contentLoaderInfo.addEventListener(Event.INIT, initListener);
 
     loader.content.addEventListener(MouseEvent.MOUSE_DOWN, rotationJpg);
    }
 
 
    private function initListener (e:Event):void {
      loader.content.x = 150;
      loader.content.y = 150;
      addChild(loader.content);
 
 
    }
 
 
     private function rotationJpg (e: MouseEvent): void{
 
      if ( loader.content.rotationX ==0){
      loader.content.rotationX = 45;
       }
         else {
         loader.content.rotationX = 0;
               }
 
     }
  }
Может кто знает в чем проблема?

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

Регистрация: Jul 2006
Адрес: Питер
Сообщений: 2,083
Отправить сообщение для MrPoma с помощью Skype™
Хм. В момент, когда вещаете мышиный листнер, content ссылается на null, так что вообще исключение должно быть. Подписывайтесь на сам лоадер.
__________________
жж | твттр | гглплс | фсбк | вкнткт | гтхб

Старый 11.08.2011, 10:26
Mur4ik вне форума Посмотреть профиль Отправить личное сообщение для Mur4ik Найти все сообщения от Mur4ik
  № 3  
Ответить с цитированием
Mur4ik
ветеран форума

Регистрация: Sep 2008
Сообщений: 717
Записей в блоге: 4
Отправить сообщение для Mur4ik с помощью ICQ
перенесите
Код AS3:
loader.content.addEventListener(MouseEvent.MOUSE_DOWN, rotationJpg);
в метод initListener, он же не зря так Вами обозван.
__________________
trace("Остановите Землю, я сойду!!!");

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

Регистрация: Aug 2011
Сообщений: 35
Отправить сообщение для Tasmanec с помощью Skype™
все испробовал, реакции никакой(((

есть вариант поверх изображения добавить объект TextField() или что-либо подобное.
выставить размер и положение как у рисунка, и уже для него прослушивать события. работает, но получается громоздко и неудобно((

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

Регистрация: Dec 2010
Адрес: Ярославль
Сообщений: 1,255
Вы добавляете на сцену loader.content, который является битмапом. А у битмапа нет мышиных событий.
Можно решить так - добавлять сам лоадер и вешайте собатие на него.

Код AS3:
...
addChild(loader);
...
loader.addEventListener(MouseEvent.MOUSE_DOWN, rotationJpg);
...
или же добавляйте в контейнер и на этот контейнер вешайте слушатель.

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

Регистрация: Aug 2011
Сообщений: 35
Отправить сообщение для Tasmanec с помощью Skype™
Спасибо! Все работает совсем забыл про addChild().

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

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

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


 


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


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