![]() |
|
||||||||||
|
|||||
|
Здравствуйте, форумцы
К вам вопрос.... Есть стрелка.. .которую мне надо крутить ![]() прикрепляю код, как я ее кручу.. Но есть небольшая проблема. Если up_gr < 180, тогда код работает и все в ажуре.. стрелка крутиться против-за часовой стрелкой по очереди Но если up_gr >= 180, тогда стрелка просто крутиться в одну сторону и все. Когда делаю трейс up_gr - получается, что после 180 _rotation принимает минусовое значение. -178, -176, -174 и т.д. Помогите сделать так, чтобы градус поворота стрелки можно было представлять от 0 до 360, а не от 0 до 180. Заранее благодарен. onClipEvent (load) {
step = 2;
_rotation = 60;
up_gr = random(100) + 75;
down_gr = random(28) + 50;
prov = 0;
}
onClipEvent (enterFrame) {
_root.speed_t = Math.floor(_root.speed._rotation/2);
_rotation = _rotation + step;
if (_rotation >= up_gr) {
step = - step;
prov = 1;
};
if (_rotation <= down_gr & prov == 1) {
step = - step;
prov = 0;
up_gr = random(100) + 75;
down_gr = random(28) + 50;
};
}
__________________
Идущий осилит дорогу! |
|
|||||
|
[+3 24.04.07]
Регистрация: Apr 2007
Сообщений: 38
|
Держи
function movestrelka(){
xd = strelka._x + strelka._height / 2 ;
yd = strelka._y + strelka._width / 2 ;
m_x = _root._xmouse;
m_y = _root._ymouse;
ygol = Math.round(get_angle(xd, yd, m_x, m_y));
}
function get_angle(xc, yc, xm, ym)
{
var xa=xc+10;
var AD, AC, DC, ugol;
AD = Math.sqrt((xc - xm) * (xc - xm) + (yc - ym) * (yc - ym));
AC = Math.sqrt((xc - xa) * (xc - xa));
DC = Math.sqrt((xa - xm) * (xa - xm) + (yc - ym) * (yc - ym));
ugol = Math.acos(((AD * AD) + (AC * AC) - (DC * DC)) / (2 * AD * AC)) * (180 / Math.PI);
if (ym > yc)
{
ugol = 360 - ugol;
}
return ugol;
}
|
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Оперировать с другой переменной нужно, а её значение присваивать _rotation.
|
|
|||||
|
Регистрация: Oct 2006
Адрес: spb.ru
Сообщений: 3,221
|
придумай еще свойство для клипа, например angle, и пусть оно меняется как тебе захочется. А после изменения этого свойства присваивай _rotation новое значение. Можно задейсвовать watch для автоматизации процесса.
upd: что-то я пишу медленно |
|
|||||
|
Спасибо
помогло ![]()
__________________
Идущий осилит дорогу! |
![]() |
![]() |
Часовой пояс GMT +4, время: 01:51. |
|
|
« Предыдущая тема | Следующая тема » |
|
|