#java #libgdx
Вопрос:
Я использовал следующий код, чтобы нарисовать круг в своем мире. Теперь я хочу заменить его одним изображением, но я понятия не имею, как это сделать.
public void definePlayer() {
BodyDef bodyDef = new BodyDef();
bodyDef.position.set(32 / MyProject.PPM, 32/MyProject.PPM);
bodyDef.type = BodyDef.BodyType.DynamicBody;
body = world.createBody(bodyDef);
FixtureDef fixtureDef = new FixtureDef();
CircleShape shape = new CircleShape();
shape.setRadius(5 / MyProject.PPM);
fixtureDef.shape = shape;
body.createFixture(fixtureDef);
}
Я следил за этой серией уроков и многое в ней понимаю, но этот эпизод оставляет в моей голове вопросительные знаки.
Ответ №1:
То, что вы сейчас используете для рисования физических объектов, на самом деле является отладочным средством визуализации. Это инструмент, позволяющий сделать вашу физическую симуляцию видимой. И он не используется для «фактического» рендеринга.
Физическое моделирование является, а также должно быть отделено от рендеринга.
Поэтому, чтобы сделать ваш объект похожим на реальную вещь, вы должны визуализировать свое изображение(спрайт) с тем же расположением, поворотом и масштабом, что и ваш физический квадрат. Таким образом, ваше изображение будет копировать движение вашего физического объекта и создаст иллюзию реального объекта.
Я настоятельно рекомендую вам ознакомиться с официальной документацией, которая, на мой взгляд, является лучшим местом для изучения libGDX.
Также посмотрите вкладку «Спрайтбэтч, текстовые области и спрайты», где вы можете прочитать больше о том, как визуализировать материалы.