마우스를 클릭하여 끌 때 화면에 선택 상자를 그리는 방법을 만들었습니다. 대부분의 전략 게임 에서처럼. 마우스를 누르면, 쿼드 메쉬를 만들고 guiNode에 추가하는 내 드로잉 메서드를 호출합니다. (화면에 평평하게). 마우스를 계속 누르고있는 동안JMonkey Selection Square Compleication
는 다음 업데이트 방법은 호출됩니다
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);
방법은 마우스의 첫 번째 클릭의 위치와 마우스의 현재 위치를 기반으로 새로운 쿼드을 만듭니다. 이제 문제는 클릭하고 왼쪽으로 드래그하려고하면 사각형이 보이지 않는다는 것입니다. 그러나 내가 오른쪽으로 드래그하면됩니다.
내 가정은 왼쪽에있을 때 새 쿼드를 만들 때 width 매개 변수가 음수이고 이로 인해 Quad 클래스에 문제가 발생한다는 것입니다. 확실하지 않습니다. 내가 어떻게 고칠 수 있니? 쿼드 회전? 어떤 대안?
당신에게