Результирующие импульсы затылка

Я пытаюсь заставить тело игрока, когда определенное условие выполнено, подняться на несколько "метров", затем медленно остановиться в "воздухе" и спуститься вниз.

Гравитация 600

public var gravity:Number = 600;
public var space:Space = new Space(new Vec2(0, gravity));

Я думал, что для того, чтобы оно пошло вверх, импульс должен быть не менее -601, чтобы противоречить силе, которая его толкает. Хотя установка -600 (или даже меньше) будет стрелять вверх, чтобы его больше не было видно. (даже -100).

Да, импульс находится в функции обновления, что означает, что он будет постоянно добавлять импульс, делая его быстрее за такт. Тем не менее, при установке -20 он не повышается по оси у (это должно в конечном итоге, поскольку импульс дается телу за тик).

switch (combo)
{
    case "W":
    break;

    case "WW":
    impulse.x = 0.0;
    impulse.y = -powerJump;
    mainChar.applyImpulse(impulse); 
    powerJump -= 5;
    break;  
}

Это не закончено, и это не то, что описано выше, но это суть этого. Когда условие выполнено, игрок должен идти вверх, а импульс теряет свою силу. Проблема в том, что я не знаю, сколько достаточно, чтобы противостоять импульсу гравитации. Я могу сделать это методом проб и ошибок, но я бы лучше знал, как это работает, сколько импульсов эквивалентно гравитации =600?

0 ответов

Другие вопросы по тегам