Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Общие вопросы (http://www.flasher.ru/forum/forumdisplay.php?f=10)
-   -   Начал делать игру и не могу продвинутся дальше из за одной мелочи. (http://www.flasher.ru/forum/showthread.php?t=63366)

Cepreu 23.09.2004 09:29

Начал делать игру и не могу продвинутся дальше из за одной мелочи.
 
Вложений: 1
Надо чтобы стрелка всегда показывала на крестик.

Ромастый 23.09.2004 14:15

все просто. Если стрелка должна соответствовать положению креста по горизонтали:
s.onEnterFrame=function() {
this._x=this._parent.q._x;
}
если же указывать, находясь на некотором расстоянии от него, то:
s.onEnterFrame=function() {
this._x=this._parent.q._x;
this._y=this._parent.q._y+30; /*(ну или сколько надо)*/
}

Oreanor 23.09.2004 17:11

Я, конечно, нифига в Action Scripte не рублю... пока, но имхо он спрашивает про другое. Я попробую посоветовать на словах, пока никто больше не ответил. Общий смысл будет понятен, я думаю.

1. Имея координаты _x и _y обоих объектов, нетрудно вычислить угол, на который должна повернуться стрелка, через арктангенс.
2. Имея угол - организовать цикл, постепенно наращивая или уменьшая s._rotation до нужного значения. Или же банально присвоить нужное значение.

Куда вставить этот обработчик - мне кажется, в on (press) {} того объекта q. Поправьте меня, если я не прав.

Ромастый 23.09.2004 17:45

Блин, че-т я действительно тормознул. Насчет вращения - залезь в исходники. Там есть с вертящимися глазами.
А вот что касается события - тут хозяин-барин, хоть onPress, хоть onEnterFrame, onMouseMove и т.д. В зависимости от того что надо.

NothWhite 24.09.2004 06:40

Вложений: 1
Спасибо ребята за помощь но я уже все сделал. :)

Oreanor 24.09.2004 11:23

2 NothWhite:
я чего-то туплю и не могу понять что же делает вот эта строчка:
if (_root.q._x<_root.s._x) {
gotoAndStop(2);

}else {
gotoAndStop(1);
}

Ведь там оба кадра идентичны? или нет?
Но без нее почему-то стрелка переворачивается.
Объясни, плз, в чем дело! :confused:

Ромастый 24.09.2004 14:59

Сорри, что до автора, но...
ты не обратил внимание на with(s). А у символа s два неидентичных кадра. Второй же кадр в _root'е для зацикливания скрипта. Правда это не очень грамотно, так как скрыпт в это случае выполняется в 2 раза реже реального fps. Надо было либо во втором кадре писать gotoAndPlay(1); либо использовать onEnterFrame.
А вот разворот стрелки во втором кадре символа s - довольно изящное решение. Так как арктангенс не всегда с нужным знаком возвращается, я раньше проверял скриптом нахождение курсора мыши: выше или ниже. А тут все проще и изящнее. Респект :)

Oreanor 24.09.2004 15:31

аыыыыы!!!! правда-правда!!! я и не заметил! :)
клева!


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

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