Add player movement with mouse
This commit is contained in:
parent
5e6ffed741
commit
44d62fb515
1 changed files with 23 additions and 2 deletions
|
@ -9,13 +9,15 @@ import com.badlogic.gdx.maps.tiled.TiledMap;
|
|||
import com.badlogic.gdx.maps.tiled.TiledMapRenderer;
|
||||
import com.badlogic.gdx.maps.tiled.TmxMapLoader;
|
||||
import com.badlogic.gdx.maps.tiled.renderers.OrthogonalTiledMapRenderer;
|
||||
import com.badlogic.gdx.math.Vector2;
|
||||
import com.badlogic.gdx.math.Vector3;
|
||||
import com.badlogic.gdx.utils.ScreenUtils;
|
||||
import com.redstrate.watersymbol.Player;
|
||||
import com.redstrate.watersymbol.WaterSymbol;
|
||||
|
||||
public class GameScreen implements Screen {
|
||||
private final WaterSymbol game;
|
||||
|
||||
private boolean hasStartedMoving = false;
|
||||
TiledMap tiledMap;
|
||||
OrthographicCamera camera;
|
||||
TiledMapRenderer tiledMapRenderer;
|
||||
|
@ -49,14 +51,33 @@ public class GameScreen implements Screen {
|
|||
public void render(float delta) {
|
||||
ScreenUtils.clear(0, 0, 0.2f, 1);
|
||||
|
||||
camera.position.set(player.positionX, player.positionY, 0);
|
||||
camera.position.set(player.positionX * 32, player.positionY * 32, 0);
|
||||
camera.update();
|
||||
tiledMapRenderer.setView(camera);
|
||||
tiledMapRenderer.render();
|
||||
|
||||
game.batch.begin();
|
||||
game.batch.setProjectionMatrix(camera.combined);
|
||||
playerSprite.setPosition(player.positionX * 32, player.positionY * 32);
|
||||
playerSprite.draw(game.batch);
|
||||
|
||||
// player is trying to move
|
||||
if(Gdx.input.isButtonPressed(0)) {
|
||||
hasStartedMoving = true;
|
||||
} else if(hasStartedMoving) {
|
||||
Vector3 mousePos = new Vector3(Gdx.input.getX(), Gdx.input.getY(), 0);
|
||||
|
||||
camera.unproject(mousePos);
|
||||
|
||||
double newX = Math.floor(mousePos.x);
|
||||
double newY = Math.floor(mousePos.y);
|
||||
|
||||
player.positionX = (int) (newX / 32.0);
|
||||
player.positionY = (int) (newY / 32.0);
|
||||
|
||||
hasStartedMoving = false;
|
||||
}
|
||||
|
||||
game.batch.end();
|
||||
}
|
||||
|
||||
|
|
Reference in a new issue