2013-07-09 7 views
0

Кажется, что есть много вопросов, похожих на это, но никто из них не мог найти, что непосредственно ответит на вопрос.Найти точку на экране

В принципе, у меня есть 2 прямоугольника внутри рамки. (Мой кадр, мой «экран» и мой «уровень») при создании игры. Я знаю ширину и высоту экрана, а также ширину и высоту уровня.

Когда я нажимаю на экран и getX(), где я нажимаю, он возвращает точку на экране, которая (поскольку координаты на экране не меняются независимо от того, где я ищу, IE (0,0) находится в верхнем левом углу экрана (screen.width, screen.height) находится в правом нижнем углу) является проблемой, потому что объекты на экране должны перемещаться по Уровню.

Мне было интересно, есть ли простой способ получить информацию об уровне с информацией. В качестве примера: - (?,)

экрана Ширина = 10, высота = 5. Кликов = (5,2) Уровень- Ширина = 20, Hieght = 10 Кликов =

ответ

0

Я не полностью понимаю, что вы имеете в виду под этим:

экрана - Ширина = 10, Height = 5. Кликов = (5,2) Уровень- Ширина = 20, Hieght = 10 Кликов =

(,?)

Но если вы просто хотите получить точку на прямоугольнике уровня, где они щелкнули относительно прямоугольника (т. (0,0) будет в левом верхнем углу на retangle), то вы можете иметь прямоугольник компонента «уровень» реализовать MouseListener как так

component.addMouseListener(new MouseListener() { 
    @Override 
    public void mouseClicked(MouseEvent e) { 
     int x = e.getX(); 
     int y = e.getY(); 
     System.out.println(x+","+y);//these co-ords are relative to the component 
    } 
}); 
+0

К сожалению форматирование, что было плохо ... Я хотел сказать, что ширина экрана равна 10, а высота - 5, а место, где вы нажимаете на экран, - это (5,2), где, когда ширина уровня равна 20, а высота равна 10, и мне нужно знать, что точка нажата на экране относительно уровня сравните (5,2) с. Кроме того, я не могу поставить MouseListener на уровень по нескольким причинам. Так же, как у меня есть мой набор реализаций, mouselistener будет только на экране. –

+0

Является ли ваш «экран» по существу видом «уровня»? Ваш экран по существу остается неподвижным, и уровень движется? или оба остаются неподвижными? Независимо от того, вам нужно будет знать положение вашего уровня по отношению к вашему «экрану», прежде чем вы сможете выработать точку, нажатую на уровне –

Смежные вопросы