Я написал игру, и теперь мне хотелось бы научиться манипулировать камерой.Рисование отдельных частей Graphics2D
Мой рисунок состоит из этого:
private void render()
{
// CREATE THE GRAPHICS
Graphics2D g = (Graphics2D) bufferStrategy.getDrawGraphics();
// MAKE THE PICTURE WHERE WE WILL PAINT EVERYTHING AT ONCE
g.clearRect(0, 0, WIDTH, HEIGHT);
// PAINT ANYTHING WE NEED HERE
render(g);
g.dispose();
// SHOW THE WHOLE IMAGE RATHER THAN PAININT ONE OBJECT AT A TIME
bufferStrategy.show();
}
Мой BufferStrategy создается следующим образом:
canvas = new Canvas();
// once again I add 1 because java is stupid that's why
canvas.setBounds(0, 0, WIDTH+1, HEIGHT+1);
//canvas.setBounds(bounds);
canvas.setIgnoreRepaint(true);
// SET GRAPHICS DEVICE
canvas.createBufferStrategy(2);
bufferStrategy = canvas.getBufferStrategy();
В функции визуализации я рисую свой игровой мир со всеми платформами, где они должны быть. Теперь, если игровой мир больше размера окна, и я хотел бы сосредоточиться на персонаже и нарисовать часть мира, где есть персонаж, как бы я это сделал? Итак, скажем, мое окно составляет 300 х 300, а мой игровой мир - 900 х 900, а мой персонаж находится посередине, так что я хотел бы отобразить часть графики, где х 150 и 150, а ширина и высота 300 х 300.
Итак, как я могу взять этот Graphics2D и переместить его на указанные значения? Мне очень жаль, если на этот вопрос был дан ответ или он прост, но я новичок в этом и действительно хотел бы помочь.
Благодарим за любую помощь заранее. Я пробовал все, что я знаю, безрезультатно.
Как создать изображение из Graphics2D? Можете ли вы предоставить примерный код? – Quillion
@Quillion: вы можете использовать метод drawImage (...) 'Graphics2D, или если вы хотите сделать рисунок, используйте многие другие методы Graphics2D и Graphics. Ознакомьтесь с API для получения подробной информации об этом. –
Спасибо :) Я получил его – Quillion