[Change] Smoother Movement

[Fix] FPS bug.
This commit is contained in:
Ritchie Cunningham 2022-03-07 14:33:16 +00:00
parent 97b1e857b0
commit 0ba6a9dcc0
6 changed files with 22 additions and 31 deletions

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -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;
}
} }
} }

View File

@ -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++) {

View File

@ -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();