added delta time
+ #preloadfont hack
This commit is contained in:
@@ -3,7 +3,10 @@ import * as d from "./draw.js";
|
||||
import {random} from "./utils.js";
|
||||
import {handleInput} from "./handleInput.js";
|
||||
|
||||
let ballInPlay = true;
|
||||
let ballInPlay = false;
|
||||
let actual_time: number = Date.now();
|
||||
let last_time: number;
|
||||
let delta_time: number;
|
||||
|
||||
function gameLoop()
|
||||
{
|
||||
@@ -12,11 +15,15 @@ function gameLoop()
|
||||
// Will revert to clear() all if not satisfactory.
|
||||
pong.clear();
|
||||
*/
|
||||
handleInput();
|
||||
last_time = actual_time;
|
||||
actual_time = Date.now();
|
||||
delta_time = (actual_time - last_time) / 1000;
|
||||
|
||||
handleInput(delta_time);
|
||||
|
||||
if (ballInPlay)
|
||||
{
|
||||
g.ball.moveAndBounce([g.wall_top, g.wall_bottom, g.player1, g.player2]);
|
||||
g.ball.moveAndBounce(delta_time, [g.wall_top, g.wall_bottom, g.player1, g.player2]);
|
||||
if (g.ball.pos.x > g.pong.canvas.width) {
|
||||
ballInPlay = false;
|
||||
g.score1.clear();
|
||||
@@ -51,10 +58,10 @@ function newRound()
|
||||
return;
|
||||
}
|
||||
}
|
||||
g.ball.pos.x = g.pong.canvas.width/2;
|
||||
g.ball.pos.y = (g.pong.canvas.height * 0.1) + Math.floor(random() * (g.pong.canvas.height * 0.8));
|
||||
g.ball.pos.x = Math.floor(g.pong.canvas.width/2);
|
||||
g.ball.pos.y = Math.floor((g.pong.canvas.height * 0.1) + random() * (g.pong.canvas.height * 0.8));
|
||||
g.ball.speed = g.ball.baseSpeed;
|
||||
ballInPlay = true;
|
||||
}
|
||||
|
||||
export {gameLoop}
|
||||
export {gameLoop, newRound}
|
||||
|
||||
Reference in New Issue
Block a user