Форум 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=120127)

noode 13.01.2009 02:16

Движение без рывков...
 
начитался я про кинематику и маятник, но применить формулы не смог!:confused:
я хочу добиться чтобы объект двигался плавно с постоянной скоростью...
помогите заранее спасибо! :victory:

Код AS1/AS2:

 
onEnterFrame = function () {
mc._x+=5;
}


AlexCooper 13.01.2009 03:37

так всё правельно!!!
Ну вот вам ускорение
Код AS1/AS2:

kinemat=0.5;
 
_root.onEnterFrame = function ()
{
 
        mc._x+=kinemat*=1.02;
}


noode 13.01.2009 03:52

я хотел чтоб скорость не увиличевалась...
да и почему то такое ощущение что клип движется всеравно так же рывком, когда скорость увиличивается.

scarbo 13.01.2009 03:55

Какая частота кадров в флешке?

noode 13.01.2009 03:57

было 12, щас поставил 24 стало лучше чуток!

scarbo 13.01.2009 03:58

30 ставь.
А что анимируешь?Фотку или вектор?

noode 13.01.2009 03:59

вектор, для игры!

Добавлено через 19 минут
помочь помогли.... спасибо большое...
но суть тепреь в том чтобы разобраться в этом...
почему kinemat именно 0.5, можно ли его менять ?
если заместо 1.02 поставить 1 тело движется без ускорения ?

Сидел с листиком пытался понять...
Я понял так

this._x+=kinemat*=1.02;
0.5 | 1.02
1 | 2.04
1.5 | 3.06
и т.д
получается типо с каждым разом увиличивается и поэтому ускорение ...
а если,

this._x+=kinemat*=1;
0.5 | 1
1 | 2
1.5 | 3

тут же тоже поидее должн оускоряться... но не ускоряется, а движется обычно! как 0.5*1

Объясните пож.! Буду признателен!

scarbo 13.01.2009 04:22

Математика - 2 класс.Какое число получается при умножении на 1?
Код AS1/AS2:

var x*1 = x

Согласись

AlexCooper 13.01.2009 13:27

Я дал пример для наглядности, как делаеться ускорение.
Код AS1/AS2:

this._x+=kinemat*=1; // где
kinemat=kinemat*1 // тоесть тоже число что и было
this._x+=kinemat; // что в свою очередь
this._x=this._x+kinemat

Если нужно сделать прямолинейное движение то даже не обязательно подставлять переменную kinemat. Можно просто число туда вставить.

dimarik 13.01.2009 14:34

Цитата:

Сообщение от noode (Сообщение 790039)
тут же тоже поидее должн оускоряться... но не ускоряется, а движется обычно! Объясните пож.! Буду признателен!

Ускорение - скорость, с которой увеличивается скорость. Это первая производная от скорости по времени. Резкость (рывок) - скорость, с которой увеличивается ускорение. Это вторая производная от скорости.


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

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