![]() |
|
||||||||||
|
|||||
|
Привет. Вот код перемещения клипа при клике мышкой на рабочем поле в точку клика. Проблема в следующем: при столкновении с объектом клип иногда ведет себе как должен - т.е. останавливается - а иногда как будто отскакивает - т.е. резко появляется в случайном месте экрана далеко от препятствия.
_root.onMouseDown = function (){
c = this._xmouse;
d = this._ymouse;
import mx.transitions.Tween;
var a:Tween = new Tween(ball, "_x", mx.transitions.easing.None.easeNone, ball._x, c, 1, true);
var b:Tween = new Tween(ball, "_y", mx.transitions.easing.None.easeNone, ball._y, d, 1, true);
ball.onEnterFrame = function (){
if (this.hitTest(square)){
q = this._x;
w = this._y;
//trace (this._x);
//trace (this._y);
a.stop ();
b.stop ();
delete this.onEnterFrame;
if (this._x <= 300){
this._x = q - 2;
this._y = w - 2;
}
if (this._x >= 300){
this._x = q + 2;
this._y = w + 2;
}
}
}
}
P.S.: может кто-то подскажет другой вариант поведения клипа при столкновении. Вот исходник: Последний раз редактировалось Волгоградец; 10.12.2007 в 12:36. |
|
|||||
|
Modus ponens
|
Лучше не в onEnterFrame проверять а в onMotionChanged того твина, который работает с клипом, который нужно хиттестить. Да и объекты лучше одним твином двигать, а не двумя...
__________________
Hell is the possibility of sanity |
|
|||||
|
Регистрация: May 2003
Адрес: Tallinn
Сообщений: 3,182
|
по мне так лучше вообще этот твин не использовать!
![]() |
|
|||||
|
wvxvw, научи пжлста, как в один твин запихнуть изменение по _x и _y...
СумашедшийФлэшер, почему его лучше не использовать? На форуме ему (Твину) дифирамбы поют... Последний раз редактировалось Волгоградец; 10.12.2007 в 13:55. |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Поищите TweenExtended.
|
|
|||||
|
__etc, поискал. Нашел. А как теперь использовать? Я с ООП как-то не очень... Как вообще добавлять сторонние классы? Import'ом? Или в специальную папку нужно положить? Сори за ламерский вопрос...
Добавлено: файл .mxp. Последний раз редактировалось Волгоградец; 10.12.2007 в 15:14. |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
В каком виде? В mxp?
|
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Ну тогда надо просто запустить его (если не запускается, то установить через Extension Manager). Документация по классу появится потом в панели хелпа.
|
|
|||||
|
Modus ponens
|
Да ну, нормально он работает (Твин в смысле)...
import mx.transitions.Tween;
import mx.transitions.easing.*;
//
var tw:Tween = new Tween(mc,"_x",Regular.easeInOut,0,300,3,true);
tw.onMotionChanged = function():Void {
trace(this.time); // Время, сколько проигрывается анимация
trace(this.position); // 1..0, значение изменения параметра, который анимируется (0-изначальное положение, 1-конечное).
trace(this.obj); // Ссылка на объект, который анимируется.
this.obj._y = this.obj._x;
}
__________________
Hell is the possibility of sanity |
![]() |
![]() |
Часовой пояс GMT +4, время: 11:07. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|