![]() |
|
||||||||||
|
|||||
|
Регистрация: Jun 2003
Сообщений: 263
|
Не получается сделать движение клипа к курсору. Кто может, помогите! Надо, чтобы клип двигался к курсору равномерно. Я тут кое-что сделал:
onClipEvent (load) { function radiansToDedrees(radians) { return (radians / Math.PI)* 180; } } onClipEvent (enterFrame) { point = {x:_x, y:_y}; _parent.localToGlobal(point); deltaX = _root._xmouse - point.x; deltaY = _root._ymouse - point.y; rotationRadian = Math.atan2(deltaY, deltaX); rotationAngle = radiansToDedrees(rotationRadian); this._rotation = rotationAngle; this._x += Math.cos((rotationAngle))*5; this._y += Math.sin((rotationAngle))*5; } но проблема в том, что клип начинает колбасить на оред. расстоянии от курсора, и если двигать курсор, то клип тоже колбасит и он никуда не движется... PLEASE HELP!!! |
|
|||||
|
"JlblCbll7l"
|
В сорец не вникал, бо голова болит, но Dedrees - мне понравилось
![]()
__________________
But the castle’s crumbled and you’re left with just a name Where’s your crown, king nothing? |
|
|||||
|
Регистрация: Jun 2003
Сообщений: 263
|
какая разница... смысл от этого не меняется
А на вопрос кто-нибудь ответит? |
|
|||||
|
Регистрация: Dec 2003
Сообщений: 7
|
Можно использовать теорему Пифагора и клип будет двигаться по гипотенузе.
Например: onClipEvent(load){ v=5 } onClipEvent(enterFrame){ xDisp= _root._xmouse - _x yDisp= _root._ymouse - _y S=Math.sqrt((xDisp*xDisp)+(yDisp*yDisp)) t=S/v xV=xDisp/t yV=yDisp/t _x= _x + xV _y= _y + yV } ![]() |
|
|||||
|
don't panic!
Регистрация: Aug 2001
Сообщений: 4,121
|
так пойдет ?
onClipEvent (load) {
Math.sign = function(n) {
return Number(n>0 || (n<0)*(-1));
};
rad = 180/Math.PI;
}
onClipEvent (enterFrame) {
dx = Math.cos(a)*5;
dy = Math.sin(a)*5;
if (Math.sign(_root._xmouse-_x-dx) == sx) {
this._x += dx;
} else {
this._x = _root._xmouse;
}
if (Math.sign(_root._ymouse-_y-dy) == sy) {
this._y += dy;
} else {
this._y = _root._ymouse;
}
}
onClipEvent (mouseMove) {
dx = _root._xmouse-_x;
dy = _root._ymouse-_y;
a = Math.atan2(dy, dx);
_rotation = a*rad;
sx = Math.sign(dx);
sy = Math.sign(dy);
}
|
|
|||||
|
Регистрация: Jun 2003
Сообщений: 263
|
THANKS A LOT! REALLY!!!
![]() |
![]() |
Часовой пояс GMT +4, время: 16:10. |
|
|
« Предыдущая тема | Следующая тема » |
|
|