Результирующие импульсы затылка
Я пытаюсь заставить тело игрока, когда определенное условие выполнено, подняться на несколько "метров", затем медленно остановиться в "воздухе" и спуститься вниз.
Гравитация 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?