Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Равноускоренное движение (http://www.flasher.ru/forum/showthread.php?t=97655)

Rasamaha 26.06.2007 18:25

Равноускоренное движение
 
Господа вопрос следующий. Есть равноускоренное движение, нужно, что бы в определенной точке объект остановился. Вот код:
Код:

sc1._x = 69.1;
var X0 = 69.1;
var Vx = -2;
var t = 0;
var a = -1;
_root.onEnterFrame = function() {
        sc1._x = X0+Vx*t+a*t*t/2;
        t += 0.4;
        if (sc1._x<58) {
                Vx = V0;
        }
};

В нем все в порядке, он работает. Непонятно почему Vx приравненная к V0 его (объект) останавливает. Переменная V0 не создавалась и в формуле ее нет. Так почему все работает?!

iNils 26.06.2007 18:28

delete onEnterFrame вместо Vx = V0; ну и координату сменить на конечную

Rasamaha 26.06.2007 20:13

Спасиб)) Реально помогло...так учим дальше

$mival 27.06.2007 01:02

Может пригодиться класс Tween.
Подробности в хелпе.

BigDan 27.06.2007 01:11

Цитата:

Сообщение от $mival
Может пригодиться класс Tween.
Подробности в хелпе.

Tween не даёт возможности делать ускоренное движение.

Kikasso 27.06.2007 01:20

Можно все упростить, приняв t за 1.
Код:

x = 0;
vx = 0;
ax = .1;
function accMove(){
x += vx + ax/2;
vx += ax;
}

Добавить проверок, вызывать периодически.

etc 27.06.2007 03:54

Цитата:

Сообщение от BigDan
Tween не даёт возможности делать ускоренное движение.

Неправда.

Kikasso 27.06.2007 07:52

__etc, например? Насколько я понимаю, Tween просчитывает параметры движения в зависимости от ПУТИ, который надо пройти, и от ВРЕМЕНИ, которое должно занять движение, да еще и для разных координат по отдельности. Не совсем то, как если бы задать начальную скорость и ускорение, а потом сказать "поехали".

etc 27.06.2007 10:56

Ну так твин и занимается движением от времени. График пути можно разбить на x и y, скорость и прочее — константы. И подсунуть твину (или двум, трем и т.д.) соответствующую функцию, описывающую график движения. Этот график при определенных начальных условиях всегда один и тот же.

Kikasso 27.06.2007 11:24

задача 1:
Есть вода, чайник, спички в буфете, плита. Как скипятить воду?
Залить воду в чайник, поставить на плиту, достать спички, зажечь газ...
задача 2:
Вода в чайнике, чайник на плите, газ горит. Как скипятить воду?
Погасить газ, вылить воду... Тем самым мы упрощаем задачу, сведя ее к предыдущей.
Это из старого журнала "Вокруг Света" фантастический рассказ.


Часовой пояс GMT +4, время: 10:48.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.