Прежде чем спросить об этом, я сделал много поиска в сети. Я просто не могу этого сделать. Мне немного трудно понять. Итак, как я рисую изображения на правой позиции экрана, отвечающей органам в мировом положении? Thanx.
Если кто-то еще найдет его перед тем же препятствием, я отправил КАК, спасибо за нормальное доброе объяснение. Вы можете найти его здесь: http://romeo.akademx.ro/2012/04/06/slick-and-box2d/
Это функция рендеринга:
public void render(GameContainer container, StateBasedGame game, Graphics g)
throws SlickException {
g.setBackground(Color.white);
g.pushTransform();
g.translate(worldToScreen(body.getPosition()).x, worldToScreen(body.getPosition()).y);
g.rotate(15, 15, (float) Math.toDegrees(body.getAngle()));
part.draw();
g.popTransform();
g.drawString("Count: " + cont, 5, 40);
//world.drawDebugData();
}
И это функция, которую я использую для преобразования координаций на мировом экране:
public Vec2 screenToWorld(Vec2 screenV) {
return new Vec2((screenV.x - offset.x) / scaleFactor, yFlip
* (screenV.y - offset.y) / scaleFactor);
}
public Vec2 worldToScreen(Vec2 worldV) {
return new Vec2(worldV.x * scaleFactor + offset.x, yFlip * worldV.y
* scaleFactor + offset.y);
}
Я также использую SlickDebugDraw, найденный по этой ссылке: http://slick.javaunlimited.net/viewtopic.php?f=19&t=3610&sid=69614ac53aaf5724b808b75173e8e48e
Но его DebugDraw рисует совершенно другую вещь, а затем мою функцию рендеринга. Я немного смущен.