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

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

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

Регистрация: Jul 2011
Сообщений: 13
Attention Проблемка MouseEvent.MOUSE_WHEEL

Почему delta не реагирует на прокрутку колесика мыши, а начинает реагировать только после того как хоть раз кликнешь в контейнере?
Фрагмент кода:
Код AS3:
bodySchedule.addEventListener(MouseEvent.MOUSE_WHEEL, mouseWheelHandler);
private function mouseWheelHandler(e:MouseEvent):void
{
	mouseWheel(e);
}

Старый 03.08.2011, 19:31
КорДум вне форума Посмотреть профиль Отправить личное сообщение для КорДум Найти все сообщения от КорДум
  № 2  
Ответить с цитированием
КорДум
 
Аватар для КорДум

блогер
Регистрация: Jan 2008
Адрес: syktyvkar
Сообщений: 3,803
Записей в блоге: 10
Объект должен быть в фокусе.
__________________
тут я

Старый 03.08.2011, 21:09
mks81 вне форума Посмотреть профиль Отправить личное сообщение для mks81 Найти все сообщения от mks81
  № 3  
Ответить с цитированием
mks81

Регистрация: Jul 2011
Сообщений: 13
А как программно навести фокус на спрайт?

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

Регистрация: May 2011
Сообщений: 7
stage.focus = "имя спрайта";
Может и поможет.

Старый 03.08.2011, 21:30
КорДум вне форума Посмотреть профиль Отправить личное сообщение для КорДум Найти все сообщения от КорДум
  № 5  
Ответить с цитированием
КорДум
 
Аватар для КорДум

блогер
Регистрация: Jan 2008
Адрес: syktyvkar
Сообщений: 3,803
Записей в блоге: 10
Код AS3:
stage.focus = ссылкаНаОбъект;
__________________
тут я

Старый 03.08.2011, 21:40
mks81 вне форума Посмотреть профиль Отправить личное сообщение для mks81 Найти все сообщения от mks81
  № 6  
Ответить с цитированием
mks81

Регистрация: Jul 2011
Сообщений: 13
Да, фокус таким образом наводится(контейнер обводится желтой рамкой), но проблема не решается, пока не кликнешь, колесико не реагирует

Старый 03.08.2011, 21:41
КорДум вне форума Посмотреть профиль Отправить личное сообщение для КорДум Найти все сообщения от КорДум
  № 7  
Ответить с цитированием
КорДум
 
Аватар для КорДум

блогер
Регистрация: Jan 2008
Адрес: syktyvkar
Сообщений: 3,803
Записей в блоге: 10
Вы подписываете сам объект на колесико. А нужно на stage. Тогда фокус нужен на стейдже [?].
__________________
тут я

Старый 04.08.2011, 11:39
mks81 вне форума Посмотреть профиль Отправить личное сообщение для mks81 Найти все сообщения от mks81
  № 8  
Ответить с цитированием
mks81

Регистрация: Jul 2011
Сообщений: 13
Я не понял, ничего не получается... Сейчас распишу поподробней, может все таки мой косяк
1. Основной класс Main, в нем помещен контейнер: bodySchedule (спрайт)
Код AS3:
this.addChild(bodySchedule);
в этом контейнере расположен еще один контейнер container (спрайт):
Код AS3:
bodySchedule.addChild(container);
в котором располагаются объекты ScalingFlight:
2. Класс ScalingFlight
Код AS3:
public class ScalingFlight extends SimpleButton
эти объекты являются просто анимированными кнопками

3. Класс UIScrollBar для прокрутки не вместившихся в контейнер кнопок, пришлось написать самому, т.к. fl.controls.ScrollBar слишком много весит
В основном классе Main располагаются экземпляры класса UIScrollBar (спрайты из которых состоит скроллбар):
Код AS3:
q = new UIScrollBar();
они размещены в контейнере bodySchedule
далее установлен прослушиватель колесика мыши:
Код AS3:
bodySchedule.addEventListener(MouseEvent.MOUSE_WHEEL, mouseWheelHandler);
он передает данные считанные с колесика мыши в класс UIScrollBar для обработки:
Код AS3:
private function mouseWheelHandler(e:MouseEvent):void
{
	q.mouseWheel(e);
}
ну вот собственно и все. Пока не кликнешь в любой точке stage колесико мыши не реагирует, как избавиться от этой проблемы?
Код AS3:
stage.focus = bodySchedule;
не помогает, спрайт обводится желтой рамкой, а проблема остается, да и сама желтая рамка при запуске клипа не устраивает, что делать?

Старый 04.08.2011, 11:56
arkadattx вне форума Посмотреть профиль Отправить личное сообщение для arkadattx Найти все сообщения от arkadattx
  № 9  
Ответить с цитированием
arkadattx

Регистрация: Apr 2010
Сообщений: 219
Как-то так
Код AS3:
addEventListener(MouseEvent.MOUSE_WHEEL, mouseWheelHandler);

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

Регистрация: Jul 2011
Сообщений: 13
Цитата:
Сообщение от arkadattx Посмотреть сообщение
Как-то так
Код AS3:
addEventListener(MouseEvent.MOUSE_WHEEL, mouseWheelHandler);
и че? так тоже самое

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

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

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


 


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


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