![]() |
|
||||||||||
|
|
|
|||||
|
Регистрация: May 2006
Сообщений: 29
|
)) ну про физику, бог с ней ))) если ваш случай расширить и добавить второй мувик к нему, только с другим параметром "dl", то получится так как я написал выше
|
|
|||||
|
...
модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
|
Все двигаются в разные стороны, все живы и счастливы
my_mc1.onRelease = function() {
//
moving(this,Stage.width/2-this._xmouse, Stage.height/2-this._ymouse,.3);
};
my_mc2.onRelease = function() {
//
moving(this,100, 100,.1);
};
//
function moving(mc:MovieClip, x:Number, y:Number,dl:Number) {
mc.onEnterFrame = function() {
if (Math.abs(this._x-x)<1 && Math.abs(this._y-y)<1) {
trace("deleted");
this._x = x;
this._y = y;
delete this.onEnterFrame;
}
this._x += (x-this._x)*dl;
this._y += (y-this._y)*dl;
};
}
|
|
|||||
|
Регистрация: May 2006
Сообщений: 29
|
)) ну здесь окончательая точка маршрута второго мувика будет 100 100, дальше увы не пойдет ))
условия применить пока не получается ( |
|
|||||
|
...
модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
|
Конечно он дальше не пойдет, пока вы ему не скажете.
aciton, изложите свой вопрос четко и ясно, в понятной для человека форме. |
|
|||||
|
Регистрация: May 2006
Сообщений: 29
|
имеется мувик 1 и мувик 2,
у первого мувика(тот который по идее в перспективе находиться дальше второго) смещение при клике будет меньше, чем у второго. посмотрите внимательно на сайт, там одни объекты смещаются относительно друг друга одинаково, а у других расстояние перемещения меньше этих. так и создается впечатление, что одни дальше, другие ближе. в вашем случае при изменении параметра dl изменяется лишь время "приезда" мувика до конечной точки. грубо говоря, чем, для нашей иллюзии перспективы, дальше должен находиться объект, тем меньше область его смещения должна быть |
|
|||||
|
Регистрация: May 2006
Сообщений: 29
|
в общем криво но работает
xx = Stage.width/2-mc2._xmouse;
yy = Stage.height/2-mc2._ymouse;
mc.onRelease = function() {
if (xx<Stage.width/2-mc2._xmouse && yy<Stage.height/2-mc2._ymouse {
moving2(Stage.width/2-mc2._xmouse-20,Stage.height/2-mc2._ymouse-20);
}
if (xx>Stage.width/2-mc2._xmouse && yy<Stage.height/2-mc2._ymouse) {
moving2(Stage.width/2-mc2._xmouse+20,Stage.height/2-mc2._ymouse-20);
}
if (xx<Stage.width/2-mc2._xmouse && yy>Stage.height/2-mc2._ymouse) {
moving2(Stage.width/2-mc2._xmouse-20,Stage.height/2-mc2._ymouse+20);
}
if (xx>Stage.width/2-mc2._xmouse && yy>Stage.height/2-mc2._ymouse) {
moving2(Stage.width/2-mc2._xmouse+20,Stage.height/2-mc2._ymouse+20);
}
moving(Stage.width/2-mc._xmouse,Stage.height/2-mc._ymouse;
xx = Stage.width/2-mc2._xmouse;
yy = Stage.height/2-mc._ymouse;
};
|
|
|||||
|
...
модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
|
коэффициэнт .9 в данном случае будет отвечать за небольшой недоход до центра сцены
То, что тебе нужно, по всей видимости. my_mc1.onRelease = function() {
//
moving(this, (Stage.width/2-_xmouse)*.9+this._x, (Stage.height/2-_ymouse)*.9+this._y, .3);
};
//
function moving(mc:MovieClip, x:Number, y:Number, dl:Number) {
mc.onEnterFrame = function() {
if (Math.abs(this._x-x)<1 && Math.abs(this._y-y)<1) {
trace("deleted");
this._x = x;
this._y = y;
delete this.onEnterFrame;
}
this._x += (x-this._x)*dl;
this._y += (y-this._y)*dl;
};
}
![]() |
|
|||||
|
Регистрация: May 2006
Сообщений: 29
|
эффект такой же ))) но у вас красиво )) спасибо
|
![]() |
![]() |
Часовой пояс GMT +4, время: 02:02. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|