diff --git a/.gitignore b/.gitignore index 7170400..2fa756f 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ node_modules ._* -.DS_Store \ No newline at end of file +.DS_Store +res/tilemap.js \ No newline at end of file diff --git a/res/aseprite/example.aseprite b/res/aseprite/example.aseprite new file mode 100644 index 0000000..d2051f0 Binary files /dev/null and b/res/aseprite/example.aseprite differ diff --git a/res/aseprite/tilemap.aseprite b/res/aseprite/tilemap.aseprite new file mode 100644 index 0000000..532b123 Binary files /dev/null and b/res/aseprite/tilemap.aseprite differ diff --git a/res/tilemap.min.js b/res/tilemap.min.js index 0805a74..a88b17a 100644 --- a/res/tilemap.min.js +++ b/res/tilemap.min.js @@ -18,7 +18,7 @@ * 13. Corner bottom -> left * 14. Bottom wall piece before 13. * 15. Corner left -> bottom - * 16. Normal floor tile + * 32. Normal floor tile * 17. +-shaped floor tile * 18. Heavily cracked floor tile * 19. Lightly cracked floor tile @@ -34,9 +34,13 @@ * 29. heavy vines brick wall 1 * 30. heavy vines brick wall 2 * 31. heavy vines brick wall 3 - * 32. Chest closed + * 64. Chest closed * 33. Chest opened * 34. Rock 1 * 35. Rock 2 + * 36. door + * 37. Ladder (should be over wall) + * 38. Torch + * 39. Staircase ------------------------------------------------------------------- */ -module.exports=[{x:0,y:0,walkable:!1},{x:16,y:0,walkable:!1},{x:32,y:0,walkable:!1},{x:48,y:0,walkable:!1},{x:64,y:0,walkable:!1},{x:0,y:16,walkable:!1},{x:16,y:16,walkable:!1},{x:32,y:16,walkable:!1},{x:48,y:16,walkable:!1},{x:64,y:16,walkable:!1},{x:0,y:32,walkable:!1},{x:16,y:32,walkable:!1},{x:32,y:32,walkable:!1},{x:48,y:32,walkable:!1},{x:64,y:32,walkable:!1},{x:0,y:48,walkable:!1},{x:16,y:48,walkable:!0},{x:32,y:48,walkable:!0},{x:48,y:48,walkable:!0},{x:64,y:48,walkable:!0},{x:0,y:64,walkable:!1},{x:16,y:64,walkable:!1},{x:32,y:64,walkable:!1},{x:48,y:64,walkable:!1},{x:64,y:64,walkable:!1},{x:0,y:80,walkable:!1},{x:16,y:80,walkable:!1},{x:32,y:80,walkable:!1},{x:48,y:80,walkable:!1},{x:64,y:80,walkable:!1},{x:0,y:96,walkable:!1},{x:16,y:96,walkable:!1},{x:32,y:96,walkable:!1},{x:48,y:96,walkable:!1},{x:64,y:96,walkable:!1},{x:0,y:112,walkable:!1}]; \ No newline at end of file +module.exports=[{x:0,y:0,walkable:!1},{x:32,y:0,walkable:!1},{x:64,y:0,walkable:!1},{x:96,y:0,walkable:!1},{x:128,y:0,walkable:!1},{x:0,y:32,walkable:!1},{x:32,y:32,walkable:!1},{x:64,y:32,walkable:!1},{x:96,y:32,walkable:!1},{x:128,y:32,walkable:!1},{x:0,y:64,walkable:!1},{x:32,y:64,walkable:!1},{x:64,y:64,walkable:!1},{x:96,y:64,walkable:!1},{x:128,y:64,walkable:!1},{x:0,y:96,walkable:!1},{x:32,y:96,walkable:!0},{x:64,y:96,walkable:!0},{x:96,y:96,walkable:!0},{x:128,y:96,walkable:!0},{x:0,y:128,walkable:!1},{x:32,y:128,walkable:!1},{x:64,y:128,walkable:!1},{x:96,y:128,walkable:!1},{x:128,y:128,walkable:!1},{x:0,y:80,walkable:!1},{x:32,y:80,walkable:!1},{x:64,y:80,walkable:!1},{x:96,y:80,walkable:!1},{x:128,y:80,walkable:!1},{x:0,y:96,walkable:!1},{x:32,y:96,walkable:!1},{x:64,y:96,walkable:!1},{x:96,y:96,walkable:!1},{x:128,y:96,walkable:!1},{x:0,y:224,walkable:!1},{x:32,y:224,walkable:!1},{x:64,y:224,walkable:!1},{x:96,y:224,walkable:!1},{x:128,y:224,walkable:!1}]; \ No newline at end of file diff --git a/res/tilemap.png b/res/tilemap.png index f3d0fc4..fa12395 100644 Binary files a/res/tilemap.png and b/res/tilemap.png differ diff --git a/src/entities/player.js b/src/entities/player.js index f109b9a..8328345 100644 --- a/src/entities/player.js +++ b/src/entities/player.js @@ -6,7 +6,7 @@ var texture = new Texture("./res/player.png"); class Player extends TileSprite { constructor(keys, window, level) { super(texture, 24, 24); - this.scale = { x: 1, y: 1 }; + this.scale = { x: 2, y: 2 }; this.window = window; @@ -41,8 +41,8 @@ class Player extends TileSprite { this.hitBox = { x: 4, y: 0, - w: 15, - h: 24 + w: 30, + h: 48 }; } diff --git a/src/levels/level.js b/src/levels/level.js index d511cc2..6b7057d 100644 --- a/src/levels/level.js +++ b/src/levels/level.js @@ -4,10 +4,12 @@ const { Texture, TileMap } = asdf; const texture = new Texture("./res/tilemap.png"); const tiles = require("../../res/tilemap.min.js"); -const levelSize = { w: 480, h: 240 }; +const tileSize = 32; + +const levelSize = { w: 960, h: 480 }; var levelData = [ - 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, - 3, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 6, + 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 4, 5, + 3, 20, 21, 22, 20, 21, 22, 20, 21, 22, 20, 21, 22, 20, 21, 22, 20, 21, 22, 20, 21, 22, 20, 21, 22, 20, 21, 22, 20, 6, 3, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 6, 3, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 6, 3, 16, 16, 16, 16, 20, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 6, @@ -20,16 +22,16 @@ var levelData = [ 3, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 6, 3, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 6, 3, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 6, - 13, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 9, 8 + 13, 14, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 9, 8 ]; var levelTiles = levelData.map(function(e) { - return { x: (tiles[e].x / 16), y: (tiles[e].y / 16), walkable: tiles[e].walkable }; + return { x: (tiles[e].x / tileSize), y: (tiles[e].y / tileSize), walkable: tiles[e].walkable }; }); class Level extends TileMap { constructor () { - super(levelTiles, levelSize.w / 16, levelSize.h / 16, 16, 16, texture); + super(levelTiles, levelSize.w / tileSize, levelSize.h / tileSize, tileSize, tileSize, texture); this.pos = { x: 0, y: 0 }; this.scale = { x: 1, y: 1 }; this.w = levelSize.w;