Merge pull request #51 from thecodingmachine/constant_speed

Computing movement amount from framerate
This commit is contained in:
David Négrier 2020-04-24 18:55:47 +02:00 committed by GitHub
commit f62b5d14ee
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 15 additions and 10 deletions

View File

@ -182,8 +182,12 @@ export class GameScene extends Phaser.Scene implements GameSceneInterface{
});
}
update() : void {
this.CurrentPlayer.moveUser();
/**
* @param time
* @param delta The delta time in ms since the last frame. This is a smoothed and capped value based on the FPS rate.
*/
update(time: number, delta: number) : void {
this.CurrentPlayer.moveUser(delta);
}
/**

View File

@ -9,7 +9,7 @@ export interface CurrentGamerInterface extends PlayableCaracter{
userId : string;
PlayerValue : string;
initAnimation() : void;
moveUser() : void;
moveUser(delta: number) : void;
say(text : string) : void;
}
@ -57,31 +57,32 @@ export class Player extends PlayableCaracter implements CurrentGamerInterface, G
})
}
moveUser(): void {
moveUser(delta: number): void {
//if user client on shift, camera and player speed
let haveMove = false;
let direction = null;
let activeEvents = this.userInputManager.getEventListForGameTick();
let speedMultiplier = activeEvents.get(UserInputEvent.SpeedUp) ? 500 : 100;
let speedMultiplier = activeEvents.get(UserInputEvent.SpeedUp) ? 25 : 9;
let moveAmount = speedMultiplier * delta;
if (activeEvents.get(UserInputEvent.MoveUp)) {
this.move(0, -speedMultiplier);
this.move(0, -moveAmount);
haveMove = true;
direction = PlayerAnimationNames.WalkUp;
}
if (activeEvents.get(UserInputEvent.MoveLeft)) {
this.move(-speedMultiplier, 0);
this.move(-moveAmount, 0);
haveMove = true;
direction = PlayerAnimationNames.WalkLeft;
}
if (activeEvents.get(UserInputEvent.MoveDown)) {
this.move(0, speedMultiplier);
this.move(0, moveAmount);
haveMove = true;
direction = PlayerAnimationNames.WalkDown;
}
if (activeEvents.get(UserInputEvent.MoveRight)) {
this.move(speedMultiplier, 0);
this.move(moveAmount, 0);
haveMove = true;
direction = PlayerAnimationNames.WalkRight;
}
@ -103,4 +104,4 @@ export class Player extends PlayableCaracter implements CurrentGamerInterface, G
this.setX(MessageUserPosition.position.x);
this.setY(MessageUserPosition.position.y);
}
}
}