Java tutorial
/* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package com.ethereal.rm.game; import com.badlogic.gdx.Application.ApplicationType; import com.badlogic.gdx.Gdx; import com.badlogic.gdx.Input.Keys; import com.badlogic.gdx.InputAdapter; import com.badlogic.gdx.graphics.Pixmap; import com.badlogic.gdx.graphics.Pixmap.Format; import com.ethereal.rm.utils.CameraHelper; /** * * @author Boris Serafimov <b.b.serafimov@gmail.com> * @date Feb 26, 2017 */ public class WorldController extends InputAdapter { public CameraHelper cameraHelper; public Level level; private static final String TAG = WorldController.class.getName(); public WorldController() { init(); } private void init() { Gdx.input.setInputProcessor(this); cameraHelper = new CameraHelper(); initLevel(); } public void update(float deltaTime) { cameraHelper.update(deltaTime); } @Override public boolean keyUp(int keycode) { // Reset game world if (keycode == Keys.R) { init(); Gdx.app.debug(TAG, "Game world resetted"); } return false; } private void initLevel() { //level = new Level(Constants.LEVEL_01); level = new Level(1); } //-----------DEBUG Function------------------------------------------------- private void handleDebugInput(float deltaTime) { if (Gdx.app.getType() != ApplicationType.Desktop) { return; } // Camera Controls (move) float camMoveSpeed = 5 * deltaTime; float camMoveSpeedAccelerationFactor = 5; if (Gdx.input.isKeyPressed(Keys.SHIFT_LEFT)) { camMoveSpeed *= camMoveSpeedAccelerationFactor; } if (Gdx.input.isKeyPressed(Keys.LEFT)) { moveCamera(-camMoveSpeed, 0); } if (Gdx.input.isKeyPressed(Keys.RIGHT)) { moveCamera(camMoveSpeed, 0); } if (Gdx.input.isKeyPressed(Keys.UP)) { moveCamera(0, camMoveSpeed); } if (Gdx.input.isKeyPressed(Keys.DOWN)) { moveCamera(0, -camMoveSpeed); } if (Gdx.input.isKeyPressed(Keys.BACKSPACE)) { cameraHelper.setPosition(0, 0); } // Camera Controls (zoom) float camZoomSpeed = 1 * deltaTime; float camZoomSpeedAccelerationFactor = 5; if (Gdx.input.isKeyPressed(Keys.SHIFT_LEFT)) { camZoomSpeed *= camZoomSpeedAccelerationFactor; } if (Gdx.input.isKeyPressed(Keys.COMMA)) { cameraHelper.addZoom(camZoomSpeed); } if (Gdx.input.isKeyPressed(Keys.PERIOD)) { cameraHelper.addZoom(-camZoomSpeed); } if (Gdx.input.isKeyPressed(Keys.SLASH)) { cameraHelper.setZoom(1); } } private void moveCamera(float x, float y) { x += cameraHelper.getPosition().x; y += cameraHelper.getPosition().y; cameraHelper.setPosition(x, y); } //----------------END Debug Functions--------------------------------------- }