【发布时间】:2014-02-06 06:27:06
【问题描述】:
我创建了一种在单击并拖动鼠标时在屏幕上绘制选择框的方法。就像在大多数策略游戏中一样。当鼠标被按下时,我调用了创建四边形网格并将其添加到 guiNode 的绘制方法。 (平屏)。
当鼠标仍然按下时,会调用以下更新方法:
Main.gui.getChild("Selection Box").removeFromParent();
xMouseCur = inputManager.getCursorPosition().x;
yMouseCur = inputManager.getCursorPosition().y;
if (xMouseCur < xMouse) {
}
quad = new Quad(xMouseCur - xMouse, yMouseCur - yMouse, false);
geom = new Geometry("Selection Box", quad);
geom.setLocalTranslation(new Vector3f(xMouse, yMouse, 0));
geom.setMaterial(mat1);
geom.setCullHint(CullHint.Never);
Main.gui.attachChild(geom);
该方法根据鼠标的第一次点击位置和鼠标的当前位置创建一个新的Quad。现在的问题是,当我尝试单击并向左拖动时,正方形不显示。但是,当我向右拖动时,它确实如此。
我的假设是,当它在左侧时,创建新 Quad 时的宽度参数是负数,这会导致 Quad 类出现问题。但我不确定。我该如何解决这个问题?旋转四边形?有其他选择吗?
非常感谢
【问题讨论】:
标签: camera jmonkeyengine