0

似乎有很多与此类似的问题,但我找不到可以直接回答问题的问题。

基本上,我在一个框架内有 2 个矩形。(我的框架、我的“屏幕”和我的“关卡”)在制作游戏时。我知道屏幕宽度和高度以及关卡的宽度和高度。

当我点击屏幕并获取我点击的位置时,它会返回屏幕上的点(因为无论我在哪里看,屏幕上的坐标都不会改变,IE(0,0)是屏幕左上角和 (screen.width,screen.height) 在右下角)是一个问题,因为屏幕上的对象需要在关卡中移动。

我想知道是否有一种简单的方法可以通过信息来了解这一点。举个例子:

屏幕 - 宽度 = 10,高度 = 5。点击 = (5,2) 级别 - 宽度 = 20,高度 = 10 点击 = (?,?)

4

1 回答 1

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
    }
});
于 2013-07-09T21:00:16.740 回答