Тема: libGDX
Показать сообщение отдельно
Старый 27.08.2015, 11:05   #6
FireOwl
Бывалый
 
Аватар для FireOwl
 
Регистрация: 16.09.2009
Адрес: Sun system
Сообщений: 831
Написано 442 полезных сообщений
(для 1,836 пользователей)
Ответ: libGDX

Собрал демку (на основе старой записи из блога LibGDX):
http://pastebin.com/650qW2NG

Движение происходит как раз через импульсы, с контролем максимальной скорости:
Vector2 vel player.getLinearVelocity();
Vector2 pos player.getPosition();

// cap max velocity on x
if(Math.abs(vel.x) > MAX_VELOCITY) {
    
vel.Math.signum(vel.x) * MAX_VELOCITY;
    
player.setLinearVelocity(vel.xvel.y);
}

// apply left impulse, but only if max velocity is not reached yet
if(Gdx.input.isKeyPressed(Keys.A) && vel.> -MAX_VELOCITY) {
    
player.applyLinearImpulse(-2f0pos.xpos.ytrue);
}
// apply right impulse, but only if max velocity is not reached yet
if(Gdx.input.isKeyPressed(Keys.D) && vel.MAX_VELOCITY) {
    
player.applyLinearImpulse(2f0pos.xpos.ytrue);

Полная картина - на Пастебин.
__________________
N"Gasta! Kvata! Kvakis!
Ahkstas so novajxletero (oix jhemile) so Ranetauw.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
RegIon (27.08.2015)