/* (non-Javadoc) * @see com.jme.input.action.MouseInputAction#performAction(float) */ public void performAction(InputActionEvent evt) { shotTime += evt.getTime(); if (MouseInput.get().isButtonDown(0) && shotTime > 0.1f) { shotTime = 0; Ray ray = new Ray( camera.getLocation(), camera.getDirection()); // camera direction is already normalized PickResults results = new BoundingPickResults(); results.setCheckDistance(true); scene.findPick(ray, results); hits += results.getNumber(); hitItems = ""; if (results.getNumber() > 0) { for (int i = 0; i < results.getNumber(); i++) { hitItems += results.getPickData(i).getTargetMesh().getName() + " " + results.getPickData(i).getDistance(); if (i != results.getNumber() - 1) { hitItems += ", "; } } } shots++; results.clear(); text.print("Hits: " + hits + " Shots: " + shots + " : " + hitItems); } }
@Override protected void initializeState() { MouseInput.get() .setHardwareCursor( ClientApplication.class .getClassLoader() .getResource(ECursorState.TryingToMove.getIconLocation())); this.buildGUI(); }
/** * Cleans up the keyboard and game state system. * * @see AbstractGame#cleanup() */ protected void cleanup() { logger.info("Cleaning up resources."); // Performs cleanup on all loaded game states. GameStateManager.getInstance().cleanup(); KeyInput.destroyIfInitalized(); MouseInput.destroyIfInitalized(); JoystickInput.destroyIfInitalized(); }