Просмотр полной версии : Плавное перемещение MovieClip на место клика мыши, с поворотом в направлении цели
Очень нужна ваша помощь!!
Ситуация такая:
При клике мыши в какой-то точке, из точки с определенными координатами должен вылететь MovieClip в точку клика. Долетев до точки, клип должен исчезнуть (ну это понятно HitTest).
Главных проблем две:
1. Клип должен быть повернут в сторону клика мыши.
2. И как попроще реализовать плавность?
rainbowrussia
27.05.2010, 17:55
0) HitTest вроде тут не в тему
1) mc._rotation, Math.atan или atan2
2) Tween
Если нужны подробности - начните делать, не видя ничего невозможно подсказать как именно и в какую сторону нужно вращать ваш мувик.
делала я Tween, не работает он так как нужно - он вообще для этого ли создан?
rainbowrussia
27.05.2010, 21:21
Вот код, во вложении исходник:
import mx.transitions.Tween;
import mx.transitions.easing.*;
back.onRelease = function () {
if (this.tw1) { this.tw1.stop(); }
if (this.tw2) { this.tw2.stop(); }
if (this.tw3) { this.tw3.stop(); }
obj._visible = true;
var len = 30;
var angle = 180 * Math.atan2(this._ymouse - obj._y, this._xmouse - obj._x) / Math.PI;
if (Math.abs(angle + 360 - obj._rotation) < Math.abs(angle - obj._rotation)) {
angle += 360;
}
if (Math.abs(angle - 360 - obj._rotation) < Math.abs(angle - obj._rotation)) {
angle -= 360;
}
this.tw1 = new mx.transitions.Tween(obj, "_rotation", Strong.easeOut, obj._rotation, angle, len);
this.tw2 = new mx.transitions.Tween(obj, "_x", Strong.easeOut, obj._x, this._xmouse, len);
this.tw3 = new mx.transitions.Tween(obj, "_y", Strong.easeOut, obj._y, this._ymouse, len);
this.tw1.onMotionFinished = function() {
obj._visible = false;
delete(back.tw1);
delete(back.tw2);
delete(back.tw3);
};
}
back - фон, по которому кликаем, obj - объект, повернут вправо, точка привязки на "конце".
rainbowrussia, спасибо огромнейшее!! Я даже не надеялась на такую помощь, век не забуду! =)
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.