Показать сообщение отдельно
Старый 20.12.2009, 13:09   #5
PacMan
Нуждающийся
 
Регистрация: 02.01.2009
Сообщений: 87
Написано 18 полезных сообщений
(для 35 пользователей)
Ответ: Физика(Newton) и персонаж.

Какой еще триальный таймер?))
Newton это абсолютно бесплатный двиг.
Я когдато делал передвижение, но это корявый метод:
if Physic.onGround then
 begin
 if Key[KEY_FORW].Down  then Acc := V_Add(Acc, Vector(-cos(a), 0, -sin(a)));
 if Key[KEY_BACK].Down  then Acc := V_Add(Acc, Vector(cos(a), 0, sin(a)));
 if Key[KEY_LEFT].Down  then Acc := V_Add(Acc, Vector(cos(a + pi/2), 0, sin(a + pi/2)));
 if Key[KEY_RIGHT].Down then Acc := V_Add(Acc, Vector(cos(a - pi/2), 0, sin(a - pi/2)));
 if Key[KEY_JUMP].Down then Jump;
 Velocity:=Physic.GetVelocity;
 Physic.SetVelocity(Vector(Acc.X*5,Velocity.Y,Acc.Z*5));
 end;
Чтобы персонаж не застревал на углах и т.д. нужно вроде делать NewtonWorldUnfreezeBody.
P.S. Сильно не ругать=)
(Offline)
 
Ответить с цитированием