Ответ 1
Вы хотите начать с механизма физики, который использует Google Gravity, Box2Djs, который является портом javascript Box2D. Вы можете прочитать руководство для Box2D, чтобы узнать, как его использовать, хотя в руководстве также говорится, что вы не будете мало понимать, что вы делаете, не зная физики твердого тела (сила, импульс, крутящий момент и т.д.), Хотя эти примеры могут помогите вам приступить к работе.
Если вы хотите написать физический движок самостоятельно, вам придется, по крайней мере, реализовать двумерную динамику твердого тела и обнаружение столкновения, чтобы он выглядел как примеры, которые вы дали. Учебное пособие для этого будет называться классом компьютерного моделирования и будет иметь линейную алгебру и физику, необходимые для этого, это не тривиальная задача.
Затем вам нужно будет узнать о методах анимации javascript. Я рекомендую узнать о window.requestAnimationFrame
. Использование setInterval(stepFunction, time)
будет работать, но оно не будет таким эффективным, как в современных браузерах.