我已經創建了一種在單擊並拖動鼠標時在屏幕上繪製選擇框的方法。就像大多數戰略遊戲一樣。當按下鼠標時,我會調用我的繪圖方法,它會創建一個四邊形網格並將其添加到guiNode中。 (平面屏幕)。JMonkey選擇方形複雜度
當鼠標不放,再下面的更新方法被稱爲:
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類出現問題。 BUT我不知道。我怎麼能解決這個問題?旋轉四邊形?任何替代品?
非常感謝你