From d0c105a64afb280c145a0989b67851c8bca583de Mon Sep 17 00:00:00 2001 From: bye <bye@byecorps.com> Date: Thu, 22 Aug 2024 19:37:19 +0100 Subject: [PATCH] Pull physics out of the game. i cant do this --- hampsterengine | 2 +- src/js/objects.js | 2 +- src/js/objects/player.js | 4 ++-- src/js/rooms/game.js | 48 +--------------------------------------- 4 files changed, 5 insertions(+), 51 deletions(-) diff --git a/hampsterengine b/hampsterengine index 87eea2e..5af7f5c 160000 --- a/hampsterengine +++ b/hampsterengine @@ -1 +1 @@ -Subproject commit 87eea2e2f818e955307768a179031c2111e43061 +Subproject commit 5af7f5c6e3ce1d9ada43e76940ec97e4c64de4f9 diff --git a/src/js/objects.js b/src/js/objects.js index 7648691..1298685 100644 --- a/src/js/objects.js +++ b/src/js/objects.js @@ -1,4 +1,4 @@ -import {Entity, PhysicsEntity} from "../../hampsterengine/src/things"; +import {Entity} from "../../hampsterengine/src/things"; import ButtonBorder from "../img/button.webp"; import {rm_game} from "./rooms/game"; diff --git a/src/js/objects/player.js b/src/js/objects/player.js index fdffe1a..51b0e26 100644 --- a/src/js/objects/player.js +++ b/src/js/objects/player.js @@ -1,6 +1,6 @@ -import {Entity, PhysicsEntity} from "../../../hampsterengine/src/things"; +import {Entity} from "../../../hampsterengine/src/things"; -export default class Player extends PhysicsEntity { +export default class Player extends Entity { draw() { canvas.setFillColor('red'); canvas.fillRect(this.x,this.y,10,16); diff --git a/src/js/rooms/game.js b/src/js/rooms/game.js index 6f9d1ea..dd5815b 100644 --- a/src/js/rooms/game.js +++ b/src/js/rooms/game.js @@ -1,5 +1,5 @@ -import {collideRect, Entity, PhysicsEntity, resolveElastic, Room} from "../../../hampsterengine/src/things"; +import {Entity, Room} from "../../../hampsterengine/src/things"; import Player from "../objects/player"; import {GRAVITY} from "../extras"; @@ -16,43 +16,7 @@ rm_game.stop = _=>{ } rm_game.step = _=>{ - const elapsed = (1000/60); // runs 60 times a second - const gx = GRAVITY_X*elapsed; - const gy = GRAVITY_Y*elapsed; - const entities = rm_game.entities; - for (let i = 0; i < entities.length; i++) { - let entity = entities[i]; - - entity.updateBounds(); - - switch (entity.type) { - case PhysicsEntity.DYNAMIC: - entity.vx += entity.ax * elapsed + gx; - entity.vy += entity.ay * elapsed + gy; - entity.x += entity.vx * elapsed; - entity.y += entity.vy * elapsed; - break; - case PhysicsEntity.KINEMATIC: - entity.vx += entity.ax * elapsed; - entity.vy += entity.ay * elapsed; - entity.x += entity.vx * elapsed; - entity.y += entity.vy * elapsed; - break; - } - - // Check if the entity is colliding with another entity - for (let k = 0; k < entities.length; k++) { - if (k === i) { - // console.debug('SAME') - continue; - } - if (collideRect(entities[i], entities[k])) { - console.debug('COLLIDE'); - resolveElastic(entities[i], entities[k]); - } - } - } } rm_game.drawGui = _ => { @@ -67,13 +31,3 @@ const player = new Player(); // player.ay = 0.1; player.x = 40; rm_game.entities.push(player); - -const floor = new PhysicsEntity(); -floor.type = PhysicsEntity.KINEMATIC; -// floor.resitution = 0; -floor.ay = 0.00000001; -floor.height = 10; -floor.width = 240*2; -floor.x = -(240/2); -floor.y = 160; -rm_game.entities.push(floor); -- GitLab