Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   вопрос по событию прокрутки колеса мыши (http://www.flasher.ru/forum/showthread.php?t=161648)

optemus 26.07.2011 16:56

вопрос по событию прокрутки колеса мыши
 
народ подскажите как реализовать:
есль прокрутка колеса мыши идет в верх то объект вращается по часовой стрелке.
есль прокрутка колеса мыши идет вниз то объект вращается против часовой стрелки.

alatar 26.07.2011 17:00

delta в событии будет отрицательная или положительная.

tsarapkabel 26.07.2011 17:41

Код AS3:

package {
 
        import flash.display.Sprite;
        import flash.events.Event;
        import flash.events.MouseEvent;
 
        public class DeltaRotation extends Sprite {
 
                private var rotatingSprite:Sprite;
 
                public function DeltaRotation() {
                        addEventListener(Event.ADDED_TO_STAGE, init);
                }
 
                private function init(event:Event):void {
                        removeEventListener(Event.ADDED_TO_STAGE, init);
 
                        rotatingSprite = new Sprite();
                        rotatingSprite.graphics.lineStyle(1, 0x0000FF, 1, true);
                        rotatingSprite.graphics.beginFill(0x889988);
                        rotatingSprite.graphics.drawRoundRect(0, 0, 200, 45, 10, 10);
                        rotatingSprite.graphics.endFill();
                        stage.addChild(rotatingSprite);
                        rotatingSprite.x = rotatingSprite.y = 250;
 
                        stage.addEventListener(MouseEvent.MOUSE_WHEEL, rotateOnWheel);
                }
 
                private function rotateOnWheel(event:MouseEvent):void {
                        rotatingSprite.rotation += event.delta; //вращение скролом тут
                }       
        }
}


optemus 27.07.2011 10:17

не через пакет отподает нужно чтобы код был в основном файле без подгрузок кода из вне.
и вращение эмитируется заменой объектов. они зарание отрисованы и не мной.
Код AS3:

addEventListener(MouseEvent.MOUSE_WHEEL, rotateOnWheel);
 function rotateOnWheel(event:MouseEvent):void
{
  if ()
{
  код замены объектов по часовой стрелке
}
if ()
{
код замены объектов против часовой стрелки
}
 
}

этот код придумала не я начальник хочет так а с начальником не спорят

goodguy 27.07.2011 10:28

Цитата:

не через пакет отподает нужно чтобы код был в основном файле без подгрузок кода из вне.
Он и не будет подгружаться извне. После компиляции он так же войдет в swf.
Цитата:

и вращение эмитируется заменой объектов. они зарание отрисованы и не мной.
Здесь не телепаты. Как у Вас там что отрисовано, нам не известно. Верное направление Вам уже подсказали.

optemus 27.07.2011 10:54

Цитата:

Сообщение от goodguy (Сообщение 1015086)
Он и не будет подгружаться извне. После компиляции он так же войдет в swf.

Здесь не телепаты. Как у Вас там что отрисовано, нам не известно. Верное направление Вам уже подсказали.

беда в том что я этого кода не поняла если вы понимаете я рада а я начинаю только в флеше разбираться
и то что написанно мне не понятно вообще. через пакеты я работать не умею вообще

goodguy 27.07.2011 11:00

Цитата:

этот код придумала не я начальник хочет так а с начальником не спорят
надо было сразу сказать, что
Цитата:

и то что написанно мне не понятно вообще. через пакеты я работать не умею вообще
Тот же код можно использовать и в кадрах.
Код AS3:

addEventListener(MouseEvent.MOUSE_WHEEL, rotateOnWheel);
 function rotateOnWheel(event:MouseEvent):void
{
    krutilka.rotation += event.delta;
}

п.с. Вы знаки препинания презираете? На этом форуме за пренебрежение к русскому языку можно и бан схлопотать

optemus 27.07.2011 11:53

не работает. пишет что обрашение к не существующему свойству дельта

goodguy 27.07.2011 12:21

Не может быть. Проверяйте свой код еще раз.
Где-то скорее всего Event вместо MouseEvent

optemus 27.07.2011 12:33

Цитата:

Сообщение от goodguy (Сообщение 1015118)
Не может быть. Проверяйте свой код еще раз.
Где-то скорее всего Event вместо MouseEvent

перепроверила везде все в точности как у тебя


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

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