Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript (http://www.flasher.ru/forum/forumdisplay.php?f=5)
-   -   Срочно в номер ! (http://www.flasher.ru/forum/showthread.php?t=23346)

Poll_Harvey 21.11.2001 19:44

Срочно в номер !
 
Есть мув. К нему код. Почему так работает :

onClipEvent (enterFrame) {
aa = _ymouse;
if(aa<0){
aa *=-1;
}
_xscale = aa;
//_yscale = aa;
}

...а так нет(!!!) :

onClipEvent (enterFrame) {
aa = _ymouse;
if(aa<0){
aa *=-1;
}
//_xscale = aa;
_yscale = aa;
}

По идее в первом случае должно масштабироваться по х, а во втором по у. Но во втором случае происходят странные метаморфозы :( Мув прыгает, масштабируется рывками.... Где грабли то?

УильямБрэдберри 21.11.2001 20:40

onClipEvent (enterFrame) {
aa = _root._ymouse;
if(aa<0){
aa *=-1;
}
//_xscale = aa;
_yscale = aa;
}

John Connor 21.11.2001 20:51

лаконично! =)

APM 21.11.2001 21:01

Грабли скорее всего там где ты их положил.
У тебя за кадром где ты правишь код есть еще один кейфрейм?
Если есть - то см. Грабли 1
http://www.flasher.ru/forum/showthre...threadid=21362

Poll_Harvey 21.11.2001 21:08

Уважаемый Уилл.
Дело в том , что _root использовать нельзя. Отслеживаются координаты именно внутри мувика и _ymouse растёт от его середины . То есть как бы при приближении маркера к мувику снизу он(мувик) увеличивается(в данном случае уменьшается), но если вести маркер дальше вверх мув опять уменьшается...
Короче говоря я собираюсь применить это в меню. Или в этом варианте код надо строить иначе??

З.Ы. Ключевой кадр везде один.

APM 21.11.2001 21:28

Попробовал с одним кадром действительно ты прав - скачет.
Но так и должно быть, ведь после того как изменяешь _yscale,
относительная координата _ymouse тоже изменится и в следующем
шаге придется снова менять _yscale. У.Б. тоже прав, чтобы этого
не было нужно брать стабильную координату например _root._ymouse.
Решение 1 - отымать от _root._ymouse фиксированное число для данной конкретной менюшки
Решение 2 - использовать дубликат своего мувика, но невидимый,
для определения координаты мышки.
Можно и еще как-то, лишь бы после изменения _yscale используемый xxx._ymouse не менялся

Poll_Harvey 21.11.2001 21:34

Во-во. Только АРМ вот ведь какая штука: ты попробуй потрейси

_yscale = _ymouse;

При этом не двигай мышой. Результат - 2 разные (!!!) координаты вместо одной постоянной(ведь мыша зафИксина).
Какие уж тут пересчёты относительных координат _ymouse !??

APM 21.11.2001 21:47

Событие enterFrame вызывается с частотой fps и поэтому у тебя переодически происходит изменение и _yscale и _ymouse
вот трейс
step: 1 _yscale: 100 _ymouse: -205.95
step: 2 _yscale: 205.95 _ymouse: -51.5
step: 3 _yscale: 51.5 _ymouse: -205.95
step: 4 _yscale: 205.95 _ymouse: -52.55
step: 5 _yscale: 52.55 _ymouse: -205.95
step: 6 _yscale: 205.95 _ymouse: -52.55
step: 7 _yscale: 52.55 _ymouse: -205.95
step: 8 _yscale: 205.95 _ymouse: -52.55
step: 9 _yscale: 52.55 _ymouse: -205.95
step: 10 _yscale: 205.95 _ymouse: -52.55
step: 11 _yscale: 52.55 _ymouse: -205.95
step: 12 _yscale: 205.95 _ymouse: -52.55
step: 13 _yscale: 52.55 _ymouse: -205.95
step: 14 _yscale: 205.95 _ymouse: -52.55
step: 15 _yscale: 52.55 _ymouse: -205.95
как видишь очень четкая картинка - автоколебаниями это называется

Poll_Harvey 21.11.2001 21:51

Автограблями это называется :)))

Ладно, будем обманывать...

Спасибо всем ! ВОПРОС СНИМАЮ.


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

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