似乎有许多与此类似的问题,但我找不到直接回答问题的问题。
基本上,我在一个框架内有2个矩形。 (制作游戏时我的画面,我的“画面”和我的“等级”)。我知道屏幕的宽度和高度以及水平的宽度和高度。
当我点击屏幕并点击我点击的X()时,它会返回屏幕上的点(因为无论我在哪里,屏幕上的坐标都不会改变,IE(0,0)是屏幕的左上角,(screen.width,screen.height)位于右下角)是一个问题,因为屏幕上的对象需要跨越Level。
我想知道是否有一种简单的方法可以获得信息水平。举个例子:
屏幕 - 宽度= 10,高度= 5。 点击=(5,2) 水平- 宽度= 20,Hieght = 10 点击=(?,?)
答案 0 :(得分:0)
我不完全明白你的意思:
屏幕 - 宽度= 10,高度= 5.单击=(5,2)级别 - 宽度= 20,高度= 10单击=(?,?)
但是如果你只是想在“水平”矩形上得到它们相对于矩形点击的点(即(0,0)将是反转的左上角)那么你可以得到'水平'矩形组件实现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
}
});