框对象不以我的鼠标为中心
Box object not centered on my mouse
1我正在尝试一些 Java 游戏开发,到目前为止我已经创建了一个可以随键输入移动的框,现在我正在尝试鼠标输入。我有几个问题...
- 我正在使用一个名为 MouseInput 的 class,它实现了 MouseMotionListener,这是获取鼠标坐标的正确方法吗?
- 我的盒子跟随我的鼠标但偏移很大,您认为可能是什么问题?
鼠标输入事件的代码如下:
@Override
public void mouseMoved(MouseEvent e) {
for (int i = 0; i < handler.object.size(); i++) {
GameObject tempObject = handler.object.get(i);
if (tempObject.getId()==ID.Player) {
tempObject.setX(MouseInfo.getPointerInfo().getLocation().x);
tempObject.setY(MouseInfo.getPointerInfo().getLocation().y);
}
}
}
附图为方框,我的鼠标位于左上角0,0。
@Override
public void mouseMoved(MouseEvent e) {
mPosX = e.getX();
mPosY = e.getY();
System.out.println(mPosX + ", " + mPosY);
for (int i = 0; i<handler.object.size(); i++){
GameObject tempObject = handler.object.get(i);
if (tempObject.getId() == ID.Player){
tempObject.setX(mPosX);
tempObject.setY(mPosY);
}
}
e.consume();
}
这里的这段代码似乎解决了问题,但是,我不完全确定为什么。
1我正在尝试一些 Java 游戏开发,到目前为止我已经创建了一个可以随键输入移动的框,现在我正在尝试鼠标输入。我有几个问题...
- 我正在使用一个名为 MouseInput 的 class,它实现了 MouseMotionListener,这是获取鼠标坐标的正确方法吗?
- 我的盒子跟随我的鼠标但偏移很大,您认为可能是什么问题?
鼠标输入事件的代码如下:
@Override
public void mouseMoved(MouseEvent e) {
for (int i = 0; i < handler.object.size(); i++) {
GameObject tempObject = handler.object.get(i);
if (tempObject.getId()==ID.Player) {
tempObject.setX(MouseInfo.getPointerInfo().getLocation().x);
tempObject.setY(MouseInfo.getPointerInfo().getLocation().y);
}
}
}
附图为方框,我的鼠标位于左上角0,0。
@Override
public void mouseMoved(MouseEvent e) {
mPosX = e.getX();
mPosY = e.getY();
System.out.println(mPosX + ", " + mPosY);
for (int i = 0; i<handler.object.size(); i++){
GameObject tempObject = handler.object.get(i);
if (tempObject.getId() == ID.Player){
tempObject.setX(mPosX);
tempObject.setY(mPosY);
}
}
e.consume();
}
这里的这段代码似乎解决了问题,但是,我不完全确定为什么。