Я следую руководству о том, как играть в клон Flappy Bird в среде LibGdx. -http://www.kilobolt.com/day-5-the-flight-of-the-dead---adding-the-bird.html
В настоящее время я нахожусь в той части, где автор обсуждает добавление настоящей птицы и физики, стоящей за птицей. Он инкапсулирует состояние птицы с помощью этих переменных экземпляра.
private Vector2 position;
private Vector2 velocity;
private Vector2 acceleration;
private float rotation; // For handling bird rotation
private int width;
private int height;
и он инициализирует эти переменные экземпляра или поля внутри конструктора
public Bird(float x, float y, int width, int height) {
this.width = width;
this.height = height;
position = new Vector2(x, y);
velocity = new Vector2(0, 0);
acceleration = new Vector2(0, 460);
}
Автор объяснил, что постоянное ускорение 460 в направлении y связано с гравитацией, то есть земная гравитация заставляет объект ускоряться на 9,8 м/с каждую секунду или 9,8 м/с^2.
На вопрос, как он определил 460, автор ответил: «Ускорение определено экспериментально. Его значение не меняется».
Мой вопрос: как бы вы поэкспериментировали с этим значением? Какую информацию вы бы использовали. Я думаю, что понимание процесса, стоящего за этими экспериментами, было бы полезно разработчикам, которые пытаются включить гравитацию в свои приложения. Я думаю, что это 460 будет с точки зрения игровых единиц, где автор, Джеймс, ранее определил как cam.setToOrtho(true, 136, 204);