Я создаю программу-редактор уровней для создаваемой игры. У меня возникли проблемы с естественным перемещением курсора с помощью камеры.
Я попытался добавить положение x и y камеры в положение курсоров.
курсор получает его положение, как это:
x = MouseInfo.getPointerInfo().getLocation().x+Camera.getX();
y = MouseInfo.getPointerInfo().getLocation().y+Camera.getY();
код движения камеры:
if(handler.isUp()) {
y -= 16;
}
if(handler.isDown()) {
y += 16;
}
if(handler.isLeft()) {
x -= 16;
}
if(handler.isRight()) {
x += 16;
}
программа использует такой перевод:
g2d.translate(-camera.getX(), -camera.getY());
g2d.translate(camera.getX(), camera.getY());
работает немного, но при перемещении курсоравокруг, движение курсора становится все более и более ограниченным, и вы вынуждены двигать камеру для перемещения курсора.