From c3c5832587bfd36d12790537c5acb36c02574ddb Mon Sep 17 00:00:00 2001 From: Indrajith K L Date: Tue, 3 Aug 2021 23:06:26 +0530 Subject: Failed attempt to build collision detection --- entities/player_entity.wren | 32 +++++++++++++++++++++++++++----- 1 file changed, 27 insertions(+), 5 deletions(-) (limited to 'entities') diff --git a/entities/player_entity.wren b/entities/player_entity.wren index 194bb5f..c547e4e 100644 --- a/entities/player_entity.wren +++ b/entities/player_entity.wren @@ -2,26 +2,48 @@ import "graphics" for ImageData, Canvas import "./controls" for Controls import "./config" for Config class Player { - construct new(x,y) { + construct new(x,y, gameState) { + __gameState = gameState _x = x _y = y _playerSprite = ImageData.loadFromFile("assets/sprites/player.png") } + x { _x } + y { _y } + w { 16 } + h { 16 } + update() { - if(Controls.isKeyDown(Config.KeyboardConstants["UP"])) { + + var collided = __gameState.checkCollision(this) + + if(Controls.isKeyDown(Config.KeyboardConstants["UP"]) && !collided) { _y = _y - 1 + } else if(Controls.isKeyDown(Config.KeyboardConstants["UP"]) && collided){ + _y = _y + 1 } - if(Controls.isKeyDown(Config.KeyboardConstants["DOWN"])) { + + if(Controls.isKeyDown(Config.KeyboardConstants["DOWN"]) && !collided) { _y = _y + 1 + } else if(Controls.isKeyDown(Config.KeyboardConstants["DOWN"]) && collided){ + _y = _y - 1 } - if(Controls.isKeyDown(Config.KeyboardConstants["LEFT"])) { + + if(Controls.isKeyDown(Config.KeyboardConstants["LEFT"]) && !collided) { _x = _x - 1 + } else if(Controls.isKeyDown(Config.KeyboardConstants["LEFT"]) && collided){ + _x = _x + 1 } - if(Controls.isKeyDown(Config.KeyboardConstants["RIGHT"])) { + + if(Controls.isKeyDown(Config.KeyboardConstants["RIGHT"]) && !collided) { _x = _x + 1 + } else if(Controls.isKeyDown(Config.KeyboardConstants["RIGHT"]) && collided){ + _x = _x - 1 } + + } draw(dt) { -- cgit v1.2.3