Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Поворот мувика при остановке движения мыши (http://www.flasher.ru/forum/showthread.php?t=184825)

vivado 27.09.2012 17:20

Поворот мувика при остановке движения мыши
 
Всем привет.
Чето я похоже туплю. Смотрите есть мувик samolet "привязанный" к координатам мышки
при движении мыши влево он наклоняется вправо,при движении вправо - влево.
Как мне сделать чтоб при неподвижной мыше самолет оставался бы rotation=0; т.е. выпрямился бы?
Спасибо.

Код AS1/AS2:

onMouseMove=function(){
        xMouse=_xmouse;
 
        if (xMouse<samoletX){
                samolet._rotation=30;
        }
        else if (xMouse>samoletX){
                samolet._rotation=-30;
        }
        else {
                samolet._rotation=0; //======== ??? =========
        }
 
        samoletX=xMouse;
        samolet._x=samoletX;
}


Sergey_A 27.09.2012 17:41

Ваш код, ИМХО, не совсем соответствует тому, что вы хотите получить. У вас: Если координата Х курсора меньше координаты Х мувика - самолет отклоняется в одну сторону. Если больше - в другую. Если же СТРОГО РАВНА - событие почти невероятное - самолет выравнивается. Вы бы хоть коридор какой обозначили: (xMouse - 1)<samoletX и (xMouse+1)>samoletX

Добавлено через 7 минут
Отставить, ерунду написал. Вернее, коридор какой-то, ИМХО, все-равно нужен, но вот чтобы ваш код заработал - достаточно лишь событие на onEnterFrame поменять, вместо onMouseMove

vivado 27.09.2012 18:03

И чем мне onEnterFrame поможет? Мне нужно отследить бездействие мыши. Наверняка можно ведь сделать.
Я понимаю, что код не работает как надо и получается всего одна точка где xMouse=samoletX.
P/S С "коридором" я уже пробовал но это не то, что мне нужно.

Sergey_A 27.09.2012 18:06

Просто попробуйте полностью скопировать ваш код, поставив onEnterFrame поменять, вместо onMouseMove. Я это сделал - кажется, получилось именно то, что вы хотели.

vivado 27.09.2012 18:12

Ааа, понятненько.
Точняк надо отслеживать смену кадра.
Спасибо.

Sergey_A 27.09.2012 18:13

Событие onMouseMove возникает при движении мыши - на момент начала движения координаты самолета и курсора совпадать не будут, а конец движения мыши не отслеживается никак. Так что без onEnterFrame не обойтись - там можно прописать и действия на случай начала движения, и действия на прекращение движения отдельно.


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

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