Я создал способ нарисовать окно выбора на экране, когда вы нажимаете и перетаскиваете мышь. Как в большинстве стратегических игр. Когда мышь нажата, я вызываю метод draw, который создает квадратную сетку и добавляет ее в guiNode. (Плоский экран).JMonkey Selection Square Complication
Хотя мышь все еще нажата, следующий метод обновления называется:
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? Любые альтернативы?
Большое спасибо