aboutsummaryrefslogtreecommitdiff
path: root/entities
diff options
context:
space:
mode:
Diffstat (limited to 'entities')
-rw-r--r--entities/player_entity.wren32
1 files changed, 27 insertions, 5 deletions
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) {