Changed the movement back to tile-by-tile movement, we'll figure out a way to toggle between the two modes later on.
This commit is contained in:
@@ -9,82 +9,90 @@ import com.mygdx.game.Restrictions;
|
|||||||
|
|
||||||
import static com.mygdx.game.Main.cam;
|
import static com.mygdx.game.Main.cam;
|
||||||
|
|
||||||
public class InputController implements Restrictions {
|
public class InputController implements Restrictions {
|
||||||
|
|
||||||
int i = 0;
|
int i = 0;
|
||||||
|
|
||||||
|
|
||||||
public void handleInput() {
|
public void handleInput() {
|
||||||
i++;
|
i++;
|
||||||
|
|
||||||
if (Gdx.input.isKeyPressed(Input.Keys.A)) {
|
if (Gdx.input.isKeyPressed(Input.Keys.Q)) {
|
||||||
cam.zoom += 5;
|
cam.zoom += 5;
|
||||||
}
|
}
|
||||||
if (Gdx.input.isKeyPressed(Input.Keys.Q)) {
|
if (Gdx.input.isKeyPressed(Input.Keys.E)) {
|
||||||
cam.zoom -= 5;
|
cam.zoom -= 5;
|
||||||
}
|
}
|
||||||
if (Gdx.input.isTouched()) {
|
|
||||||
Vector3 mousePos = new Vector3(Gdx.input.getX(), Gdx.input.getY(), 0);
|
|
||||||
cam.unproject(mousePos);
|
|
||||||
int x = Mouse.getSelectedX(mousePos) >> TILE_SHIFT;
|
|
||||||
int y = Mouse.getSelectedY(mousePos) >> TILE_SHIFT;
|
|
||||||
|
|
||||||
|
Vector3 mousePos = new Vector3(Gdx.input.getX(), Gdx.input.getY(), 0);
|
||||||
|
cam.unproject(mousePos);
|
||||||
|
int x = Mouse.getSelectedX(mousePos) >> TILE_SHIFT;
|
||||||
|
int y = Mouse.getSelectedY(mousePos) >> TILE_SHIFT;
|
||||||
|
|
||||||
|
if (Gdx.input.isButtonJustPressed(Input.Buttons.LEFT) && i > KEY_DELAY) {
|
||||||
|
i = 0;
|
||||||
Chunks.placeBlock(x,y,"wood");
|
Chunks.placeBlock(x,y,"wood");
|
||||||
}
|
}
|
||||||
|
if (Gdx.input.isButtonJustPressed(Input.Buttons.RIGHT) && i > KEY_DELAY) {
|
||||||
if (Gdx.input.isKeyPressed(Input.Keys.UP) && Gdx.input.isKeyPressed(Input.Keys.LEFT) && i > KEY_DELAY) {
|
i = 0;
|
||||||
|
Chunks.removeBlock(x,y);
|
||||||
|
}
|
||||||
|
if (Gdx.input.isKeyPressed(Input.Keys.W) && Gdx.input.isKeyPressed(Input.Keys.A) && i > KEY_DELAY) {
|
||||||
i = 0;
|
i = 0;
|
||||||
directionAnimation("UpLeft");
|
directionAnimation("UpLeft");
|
||||||
Player.addX(-MOVEMENT_SPEED);
|
Player.addX(-MOVEMENT_SPEED);
|
||||||
Player.addY(MOVEMENT_SPEED);
|
Player.addY(MOVEMENT_SPEED);
|
||||||
cam.translate(-MOVEMENT_SPEED, MOVEMENT_SPEED);
|
cam.translate(-MOVEMENT_SPEED, MOVEMENT_SPEED);
|
||||||
} else if (Gdx.input.isKeyPressed(Input.Keys.UP) && Gdx.input.isKeyPressed(Input.Keys.RIGHT) && i > KEY_DELAY) {
|
}
|
||||||
|
else if (Gdx.input.isKeyPressed(Input.Keys.W) && Gdx.input.isKeyPressed(Input.Keys.D) && i > KEY_DELAY) {
|
||||||
i = 0;
|
i = 0;
|
||||||
directionAnimation("UpRight");
|
directionAnimation("UpRight");
|
||||||
Player.addX(MOVEMENT_SPEED);
|
Player.addX(MOVEMENT_SPEED);
|
||||||
Player.addY(MOVEMENT_SPEED);
|
Player.addY(MOVEMENT_SPEED);
|
||||||
cam.translate(MOVEMENT_SPEED, MOVEMENT_SPEED);
|
cam.translate(MOVEMENT_SPEED, MOVEMENT_SPEED);
|
||||||
} else if (Gdx.input.isKeyPressed(Input.Keys.DOWN) && Gdx.input.isKeyPressed(Input.Keys.LEFT) && i > KEY_DELAY) {
|
}
|
||||||
|
else if (Gdx.input.isKeyPressed(Input.Keys.S) && Gdx.input.isKeyPressed(Input.Keys.A) && i > KEY_DELAY) {
|
||||||
i = 0;
|
i = 0;
|
||||||
directionAnimation("DownLeft");
|
directionAnimation("DownLeft");
|
||||||
Player.addX(-MOVEMENT_SPEED);
|
Player.addX(-MOVEMENT_SPEED);
|
||||||
Player.addY(-MOVEMENT_SPEED);
|
Player.addY(-MOVEMENT_SPEED);
|
||||||
cam.translate(-MOVEMENT_SPEED, -MOVEMENT_SPEED);
|
cam.translate(-MOVEMENT_SPEED, -MOVEMENT_SPEED);
|
||||||
} else if (Gdx.input.isKeyPressed(Input.Keys.DOWN) && Gdx.input.isKeyPressed(Input.Keys.RIGHT) && i > KEY_DELAY) {
|
}
|
||||||
|
else if (Gdx.input.isKeyPressed(Input.Keys.S) && Gdx.input.isKeyPressed(Input.Keys.D) && i > KEY_DELAY) {
|
||||||
i = 0;
|
i = 0;
|
||||||
directionAnimation("DownRight");
|
directionAnimation("DownRight");
|
||||||
Player.addX(MOVEMENT_SPEED);
|
Player.addX(MOVEMENT_SPEED);
|
||||||
Player.addY(-MOVEMENT_SPEED);
|
Player.addY(-MOVEMENT_SPEED);
|
||||||
|
|
||||||
cam.translate(MOVEMENT_SPEED, -MOVEMENT_SPEED);
|
cam.translate(MOVEMENT_SPEED, -MOVEMENT_SPEED);
|
||||||
} else if (Gdx.input.isKeyPressed(Input.Keys.LEFT) && i > KEY_DELAY) {
|
}
|
||||||
|
else if (Gdx.input.isKeyPressed(Input.Keys.A) && i > KEY_DELAY) {
|
||||||
i = 0;
|
i = 0;
|
||||||
directionAnimation("Left");
|
directionAnimation("Left");
|
||||||
Player.addX(-MOVEMENT_SPEED);
|
Player.addX(-MOVEMENT_SPEED);
|
||||||
cam.translate(-MOVEMENT_SPEED, 0);
|
cam.translate(-MOVEMENT_SPEED, 0);
|
||||||
} else if (Gdx.input.isKeyPressed(Input.Keys.RIGHT) && i > KEY_DELAY) {
|
}
|
||||||
|
else if (Gdx.input.isKeyPressed(Input.Keys.D) && i > KEY_DELAY) {
|
||||||
i = 0;
|
i = 0;
|
||||||
directionAnimation("Right");
|
directionAnimation("Right");
|
||||||
Player.addX(MOVEMENT_SPEED);
|
Player.addX(MOVEMENT_SPEED);
|
||||||
cam.translate(MOVEMENT_SPEED, 0);
|
cam.translate(MOVEMENT_SPEED, 0);
|
||||||
} else if (Gdx.input.isKeyPressed(Input.Keys.DOWN) && i > KEY_DELAY) {
|
}
|
||||||
|
else if (Gdx.input.isKeyPressed(Input.Keys.S) && i > KEY_DELAY) {
|
||||||
i = 0;
|
i = 0;
|
||||||
directionAnimation("Down");
|
directionAnimation("Down");
|
||||||
Player.addY(-MOVEMENT_SPEED);
|
Player.addY(-MOVEMENT_SPEED);
|
||||||
cam.translate(0, -MOVEMENT_SPEED);
|
cam.translate(0, -MOVEMENT_SPEED);
|
||||||
}
|
}
|
||||||
if (Gdx.input.isKeyPressed(Input.Keys.UP) && i > KEY_DELAY) {
|
if (Gdx.input.isKeyPressed(Input.Keys.W) && i > KEY_DELAY) {
|
||||||
i = 0;
|
i = 0;
|
||||||
directionAnimation("Up");
|
directionAnimation("Up");
|
||||||
Player.addY(MOVEMENT_SPEED);
|
Player.addY(MOVEMENT_SPEED);
|
||||||
|
|
||||||
cam.translate(0, MOVEMENT_SPEED);
|
cam.translate(0, MOVEMENT_SPEED);
|
||||||
}
|
}
|
||||||
|
|
||||||
cam.update();
|
cam.update();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public void directionAnimation(String direction) {
|
public void directionAnimation(String direction) {
|
||||||
Player.setAnimation(new Animation<>(1 / 4f, Player.textureAtlas.findRegions(Player.getSpriteName() + "_" + direction)));
|
Player.setAnimation(new Animation<>(1 / 4f, Player.textureAtlas.findRegions(Player.getSpriteName() + "_" + direction)));
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ import com.mygdx.game.OpenSimplexNoise;
|
|||||||
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
|
|
||||||
|
import static com.mygdx.game.Dimension.BlockMaterials.*;
|
||||||
import static com.mygdx.game.Restrictions.*;
|
import static com.mygdx.game.Restrictions.*;
|
||||||
|
|
||||||
public class Chunks{
|
public class Chunks{
|
||||||
@@ -24,8 +25,17 @@ public class Chunks{
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static void placeBlock(int x, int y, String name){
|
public static void placeBlock(int x, int y, String name){
|
||||||
Triple<Integer,Integer,Integer> triple = new Triple<>(x, y,1);
|
Triple<Integer, Integer, Integer> triple = new Triple<>(x, y, 1);
|
||||||
Chunks.blocks.replace(triple, Chunks.blocks.get(triple), new Block(name));
|
if(Chunks.blocks.get(triple).getName().equals("air")) {
|
||||||
|
Chunks.blocks.replace(triple, Chunks.blocks.get(triple), materials.get(name));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void removeBlock(int x, int y){
|
||||||
|
Triple<Integer, Integer, Integer> triple = new Triple<>(x, y, 1);
|
||||||
|
if(!Chunks.blocks.get(triple).getName().equals("air")) {
|
||||||
|
Chunks.blocks.replace(triple, Chunks.blocks.get(triple), materials.get("air"));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static HashMap<Triple<Integer, Integer,Integer>, Block> blocks = new HashMap<>();
|
public static HashMap<Triple<Integer, Integer,Integer>, Block> blocks = new HashMap<>();
|
||||||
@@ -117,26 +127,26 @@ public class Chunks{
|
|||||||
|
|
||||||
public Block getBiomeBlock(double moisture, double elevation) {
|
public Block getBiomeBlock(double moisture, double elevation) {
|
||||||
String biome = getBiome(moisture,elevation);
|
String biome = getBiome(moisture,elevation);
|
||||||
if (biome.equals("Tundra")) return BlockMaterials.materials.get("snow");
|
if (biome.equals("Tundra")) return materials.get("snow");
|
||||||
if (biome.equals("Taiga")) return BlockMaterials.materials.get("snow");
|
if (biome.equals("Taiga")) return materials.get("snow");
|
||||||
if (biome.equals("Snow")) return BlockMaterials.materials.get("snow");
|
if (biome.equals("Snow")) return materials.get("snow");
|
||||||
|
|
||||||
if (biome.equals("Grassland")) return BlockMaterials.materials.get("grass");
|
if (biome.equals("Grassland")) return materials.get("grass");
|
||||||
if (biome.equals("Shrubland")) return BlockMaterials.materials.get("grass");
|
if (biome.equals("Shrubland")) return materials.get("grass");
|
||||||
if (biome.equals("TemperateDeciduousForest")) return BlockMaterials.materials.get("grass");
|
if (biome.equals("TemperateDeciduousForest")) return materials.get("grass");
|
||||||
|
|
||||||
if (biome.equals("TemperateRainForest")) return BlockMaterials.materials.get("grass");
|
if (biome.equals("TemperateRainForest")) return materials.get("grass");
|
||||||
if (biome.equals("TropicalSeasonalForest")) return BlockMaterials.materials.get("grass");
|
if (biome.equals("TropicalSeasonalForest")) return materials.get("grass");
|
||||||
if (biome.equals("TropicalForest")) return BlockMaterials.materials.get("grass");
|
if (biome.equals("TropicalForest")) return materials.get("grass");
|
||||||
if (biome.equals("TropicalRainForest")) return BlockMaterials.materials.get("grass");
|
if (biome.equals("TropicalRainForest")) return materials.get("grass");
|
||||||
|
|
||||||
if (biome.equals("Beach")) return BlockMaterials.materials.get("sand");
|
if (biome.equals("Beach")) return materials.get("sand");
|
||||||
if (biome.equals("Bare")) return BlockMaterials.materials.get("sand");
|
if (biome.equals("Bare")) return materials.get("sand");
|
||||||
if (biome.equals("Scorched")) return BlockMaterials.materials.get("sand");
|
if (biome.equals("Scorched")) return materials.get("sand");
|
||||||
if (biome.equals("TemperateDesert")) return BlockMaterials.materials.get("sand");
|
if (biome.equals("TemperateDesert")) return materials.get("sand");
|
||||||
if (biome.equals("SubtropicalDesert")) return BlockMaterials.materials.get("sand");
|
if (biome.equals("SubtropicalDesert")) return materials.get("sand");
|
||||||
|
|
||||||
return BlockMaterials.materials.get("water");
|
return materials.get("water");
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getBiome(double moisture,double elevation){
|
public String getBiome(double moisture,double elevation){
|
||||||
|
|||||||
@@ -6,8 +6,8 @@ public interface Restrictions {
|
|||||||
float VIEWPORT_HEIGHT = 9/2f;
|
float VIEWPORT_HEIGHT = 9/2f;
|
||||||
float VIEWPORT_WIDTH = 16/2f;
|
float VIEWPORT_WIDTH = 16/2f;
|
||||||
|
|
||||||
int MOVEMENT_SPEED = 2;
|
int MOVEMENT_SPEED = 16;
|
||||||
int KEY_DELAY = 0;
|
int KEY_DELAY = 1;
|
||||||
|
|
||||||
int TILE_SIZE = 16;
|
int TILE_SIZE = 16;
|
||||||
int CHUNK_SIZE = 8;
|
int CHUNK_SIZE = 8;
|
||||||
|
|||||||
Reference in New Issue
Block a user