[Change] Smoother Movement
[Fix] FPS bug.
This commit is contained in:
parent
97b1e857b0
commit
0ba6a9dcc0
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -2,6 +2,8 @@ package tfg;
|
|||||||
|
|
||||||
import org.jsfml.graphics.RenderWindow;
|
import org.jsfml.graphics.RenderWindow;
|
||||||
import org.jsfml.system.Vector2i;
|
import org.jsfml.system.Vector2i;
|
||||||
|
import org.jsfml.window.Keyboard;
|
||||||
|
import org.jsfml.window.Keyboard.Key;
|
||||||
import org.jsfml.window.VideoMode;
|
import org.jsfml.window.VideoMode;
|
||||||
import org.jsfml.window.event.Event;
|
import org.jsfml.window.event.Event;
|
||||||
|
|
||||||
@ -33,6 +35,8 @@ public class Game {
|
|||||||
renderWindow.create(new VideoMode(renderWindowDimensions.x,
|
renderWindow.create(new VideoMode(renderWindowDimensions.x,
|
||||||
renderWindowDimensions.y), renderWindowTitle);
|
renderWindowDimensions.y), renderWindowTitle);
|
||||||
|
|
||||||
|
renderWindow.setFramerateLimit(60);
|
||||||
|
|
||||||
player = new Player();
|
player = new Player();
|
||||||
|
|
||||||
maps.add(new Map(10, 10, Tile.SAND));
|
maps.add(new Map(10, 10, Tile.SAND));
|
||||||
@ -60,40 +64,26 @@ public class Game {
|
|||||||
case CLOSED:
|
case CLOSED:
|
||||||
renderWindow.close();
|
renderWindow.close();
|
||||||
break;
|
break;
|
||||||
case KEY_PRESSED:
|
default:
|
||||||
switch(event.asKeyEvent().key) {
|
|
||||||
case ESCAPE:
|
|
||||||
renderWindow.close();
|
|
||||||
break;
|
break;
|
||||||
case W:
|
}
|
||||||
case UP:
|
}
|
||||||
|
|
||||||
|
if(Keyboard.isKeyPressed(Key.W)) {
|
||||||
player.move(Direction.NORTH);
|
player.move(Direction.NORTH);
|
||||||
break;
|
} else if(Keyboard.isKeyPressed(Key.S)) {
|
||||||
case S:
|
|
||||||
case DOWN:
|
|
||||||
player.move(Direction.SOUTH);
|
player.move(Direction.SOUTH);
|
||||||
break;
|
} else if(Keyboard.isKeyPressed(Key.A)) {
|
||||||
case A:
|
|
||||||
case LEFT:
|
|
||||||
player.move(Direction.WEST);
|
player.move(Direction.WEST);
|
||||||
break;
|
} else if(Keyboard.isKeyPressed(Key.D)) {
|
||||||
case D:
|
|
||||||
case RIGHT:
|
|
||||||
player.move(Direction.EAST);
|
player.move(Direction.EAST);
|
||||||
break;
|
} else if(Keyboard.isKeyPressed(Key.ESCAPE)) {
|
||||||
case N:
|
renderWindow.close();
|
||||||
|
}
|
||||||
|
|
||||||
|
if(Keyboard.isKeyPressed(Key.N)) {
|
||||||
player.resetLocation();
|
player.resetLocation();
|
||||||
player.changeMap(getRandomMap());
|
player.changeMap(getRandomMap());
|
||||||
break;
|
|
||||||
default:
|
|
||||||
break;
|
|
||||||
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -48,6 +48,7 @@ public class Map implements Drawable {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void draw(RenderTarget target, RenderStates states) {
|
public void draw(RenderTarget target, RenderStates states) {
|
||||||
|
mapVertexArray.clear();
|
||||||
final int tileSize = Tile.getSize();
|
final int tileSize = Tile.getSize();
|
||||||
for(int i = 0; i < mapDimensions.x; i++) {
|
for(int i = 0; i < mapDimensions.x; i++) {
|
||||||
for(int j = 0; j < mapDimensions.y; j++) {
|
for(int j = 0; j < mapDimensions.y; j++) {
|
||||||
|
@ -28,7 +28,7 @@ public class Player implements Drawable {
|
|||||||
private PlayerAction currentAction = PlayerAction.NONE;
|
private PlayerAction currentAction = PlayerAction.NONE;
|
||||||
private Location newPlayerLoc;
|
private Location newPlayerLoc;
|
||||||
private int frameCounter = 0;
|
private int frameCounter = 0;
|
||||||
private final float animationSpeed = 20.f;
|
private final float animationSpeed = 15.f;
|
||||||
private int animationFrame = 0;
|
private int animationFrame = 0;
|
||||||
private SoundBuffer cannotMoveBuffer = new SoundBuffer();
|
private SoundBuffer cannotMoveBuffer = new SoundBuffer();
|
||||||
private Sound cannotMove = new Sound();
|
private Sound cannotMove = new Sound();
|
||||||
|
Loading…
Reference in New Issue
Block a user