Compare commits
3 Commits
3f230e446a
...
master
Author | SHA1 | Date | |
---|---|---|---|
1a0e6ec71e | |||
022858330a | |||
f71db7a456 |
BIN
assets/images/backgrounds/gbyeblack.png
Normal file
BIN
assets/images/backgrounds/gbyeblack.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.8 MiB |
Before Width: | Height: | Size: 48 KiB After Width: | Height: | Size: 48 KiB |
BIN
assets/images/backgrounds/level1_hires.png
Normal file
BIN
assets/images/backgrounds/level1_hires.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 111 KiB |
BIN
assets/images/icons/window.png
Normal file
BIN
assets/images/icons/window.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 504 B |
@@ -3,90 +3,90 @@
|
||||
"filename": "Sprite-0002 0.aseprite",
|
||||
"frame": { "x": 140, "y": 0, "w": 140, "h": 160 },
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": { "x": 10, "y": 0, "w": 140, "h": 160 },
|
||||
"sourceSize": { "w": 160, "h": 160 },
|
||||
"trimmed": false,
|
||||
"spriteSourceSize": { "x": 0, "y": 0, "w": 140, "h": 160 },
|
||||
"sourceSize": { "w": 140, "h": 160 },
|
||||
"duration": 1
|
||||
},
|
||||
{
|
||||
"filename": "Sprite-0002 1.aseprite",
|
||||
"frame": { "x": 0, "y": 0, "w": 140, "h": 160 },
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": { "x": 10, "y": 0, "w": 140, "h": 160 },
|
||||
"sourceSize": { "w": 160, "h": 160 },
|
||||
"trimmed": false,
|
||||
"spriteSourceSize": { "x": 0, "y": 0, "w": 140, "h": 160 },
|
||||
"sourceSize": { "w": 140, "h": 160 },
|
||||
"duration": 1
|
||||
},
|
||||
{
|
||||
"filename": "Sprite-0002 2.aseprite",
|
||||
"frame": { "x": 140, "y": 320, "w": 140, "h": 160 },
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": { "x": 10, "y": 0, "w": 140, "h": 160 },
|
||||
"sourceSize": { "w": 160, "h": 160 },
|
||||
"trimmed": false,
|
||||
"spriteSourceSize": { "x": 0, "y": 0, "w": 140, "h": 160 },
|
||||
"sourceSize": { "w": 140, "h": 160 },
|
||||
"duration": 1
|
||||
},
|
||||
{
|
||||
"filename": "Sprite-0002 3.aseprite",
|
||||
"frame": { "x": 0, "y": 320, "w": 140, "h": 160 },
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": { "x": 10, "y": 0, "w": 140, "h": 160 },
|
||||
"sourceSize": { "w": 160, "h": 160 },
|
||||
"trimmed": false,
|
||||
"spriteSourceSize": { "x": 0, "y": 0, "w": 140, "h": 160 },
|
||||
"sourceSize": { "w": 140, "h": 160 },
|
||||
"duration": 1
|
||||
},
|
||||
{
|
||||
"filename": "Sprite-0002 4.aseprite",
|
||||
"frame": { "x": 840, "y": 160, "w": 140, "h": 160 },
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": { "x": 10, "y": 0, "w": 140, "h": 160 },
|
||||
"sourceSize": { "w": 160, "h": 160 },
|
||||
"trimmed": false,
|
||||
"spriteSourceSize": { "x": 0, "y": 0, "w": 140, "h": 160 },
|
||||
"sourceSize": { "w": 140, "h": 160 },
|
||||
"duration": 1
|
||||
},
|
||||
{
|
||||
"filename": "Sprite-0002 5.aseprite",
|
||||
"frame": { "x": 700, "y": 160, "w": 140, "h": 160 },
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": { "x": 10, "y": 0, "w": 140, "h": 160 },
|
||||
"sourceSize": { "w": 160, "h": 160 },
|
||||
"trimmed": false,
|
||||
"spriteSourceSize": { "x": 0, "y": 0, "w": 140, "h": 160 },
|
||||
"sourceSize": { "w": 140, "h": 160 },
|
||||
"duration": 1
|
||||
},
|
||||
{
|
||||
"filename": "Sprite-0002 6.aseprite",
|
||||
"frame": { "x": 560, "y": 160, "w": 140, "h": 160 },
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": { "x": 10, "y": 0, "w": 140, "h": 160 },
|
||||
"sourceSize": { "w": 160, "h": 160 },
|
||||
"trimmed": false,
|
||||
"spriteSourceSize": { "x": 0, "y": 0, "w": 140, "h": 160 },
|
||||
"sourceSize": { "w": 140, "h": 160 },
|
||||
"duration": 1
|
||||
},
|
||||
{
|
||||
"filename": "Sprite-0002 7.aseprite",
|
||||
"frame": { "x": 420, "y": 160, "w": 140, "h": 160 },
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": { "x": 10, "y": 0, "w": 140, "h": 160 },
|
||||
"sourceSize": { "w": 160, "h": 160 },
|
||||
"trimmed": false,
|
||||
"spriteSourceSize": { "x": 0, "y": 0, "w": 140, "h": 160 },
|
||||
"sourceSize": { "w": 140, "h": 160 },
|
||||
"duration": 1
|
||||
},
|
||||
{
|
||||
"filename": "Sprite-0002 8.aseprite",
|
||||
"frame": { "x": 280, "y": 160, "w": 140, "h": 160 },
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": { "x": 10, "y": 0, "w": 140, "h": 160 },
|
||||
"sourceSize": { "w": 160, "h": 160 },
|
||||
"trimmed": false,
|
||||
"spriteSourceSize": { "x": 0, "y": 0, "w": 140, "h": 160 },
|
||||
"sourceSize": { "w": 140, "h": 160 },
|
||||
"duration": 1
|
||||
},
|
||||
{
|
||||
"filename": "Sprite-0002 9.aseprite",
|
||||
"frame": { "x": 140, "y": 160, "w": 140, "h": 160 },
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": { "x": 10, "y": 0, "w": 140, "h": 160 },
|
||||
"sourceSize": { "w": 160, "h": 160 },
|
||||
"trimmed": false,
|
||||
"spriteSourceSize": { "x": 0, "y": 0, "w": 140, "h": 160 },
|
||||
"sourceSize": { "w": 140, "h": 160 },
|
||||
"duration": 1
|
||||
},
|
||||
{
|
||||
@@ -94,8 +94,8 @@
|
||||
"frame": { "x": 280, "y": 320, "w": 140, "h": 150 },
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": { "x": 10, "y": 0, "w": 140, "h": 150 },
|
||||
"sourceSize": { "w": 160, "h": 160 },
|
||||
"spriteSourceSize": { "x": 0, "y": 0, "w": 140, "h": 150 },
|
||||
"sourceSize": { "w": 140, "h": 160 },
|
||||
"duration": 1
|
||||
},
|
||||
{
|
||||
@@ -103,8 +103,8 @@
|
||||
"frame": { "x": 420, "y": 320, "w": 140, "h": 150 },
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": { "x": 10, "y": 0, "w": 140, "h": 150 },
|
||||
"sourceSize": { "w": 160, "h": 160 },
|
||||
"spriteSourceSize": { "x": 0, "y": 0, "w": 140, "h": 150 },
|
||||
"sourceSize": { "w": 140, "h": 160 },
|
||||
"duration": 1
|
||||
},
|
||||
{
|
||||
@@ -112,8 +112,8 @@
|
||||
"frame": { "x": 0, "y": 620, "w": 140, "h": 140 },
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": { "x": 10, "y": 0, "w": 140, "h": 140 },
|
||||
"sourceSize": { "w": 160, "h": 160 },
|
||||
"spriteSourceSize": { "x": 0, "y": 0, "w": 140, "h": 140 },
|
||||
"sourceSize": { "w": 140, "h": 160 },
|
||||
"duration": 1
|
||||
},
|
||||
{
|
||||
@@ -121,8 +121,8 @@
|
||||
"frame": { "x": 840, "y": 610, "w": 140, "h": 140 },
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": { "x": 10, "y": 0, "w": 140, "h": 140 },
|
||||
"sourceSize": { "w": 160, "h": 160 },
|
||||
"spriteSourceSize": { "x": 0, "y": 0, "w": 140, "h": 140 },
|
||||
"sourceSize": { "w": 140, "h": 160 },
|
||||
"duration": 1
|
||||
},
|
||||
{
|
||||
@@ -130,8 +130,8 @@
|
||||
"frame": { "x": 700, "y": 610, "w": 140, "h": 140 },
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": { "x": 10, "y": 0, "w": 140, "h": 140 },
|
||||
"sourceSize": { "w": 160, "h": 160 },
|
||||
"spriteSourceSize": { "x": 0, "y": 0, "w": 140, "h": 140 },
|
||||
"sourceSize": { "w": 140, "h": 160 },
|
||||
"duration": 1
|
||||
},
|
||||
{
|
||||
@@ -139,8 +139,8 @@
|
||||
"frame": { "x": 560, "y": 610, "w": 140, "h": 140 },
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": { "x": 10, "y": 0, "w": 140, "h": 140 },
|
||||
"sourceSize": { "w": 160, "h": 160 },
|
||||
"spriteSourceSize": { "x": 0, "y": 0, "w": 140, "h": 140 },
|
||||
"sourceSize": { "w": 140, "h": 160 },
|
||||
"duration": 1
|
||||
},
|
||||
{
|
||||
@@ -148,8 +148,8 @@
|
||||
"frame": { "x": 420, "y": 610, "w": 140, "h": 140 },
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": { "x": 10, "y": 0, "w": 140, "h": 140 },
|
||||
"sourceSize": { "w": 160, "h": 160 },
|
||||
"spriteSourceSize": { "x": 0, "y": 0, "w": 140, "h": 140 },
|
||||
"sourceSize": { "w": 140, "h": 160 },
|
||||
"duration": 1
|
||||
},
|
||||
{
|
||||
@@ -157,8 +157,8 @@
|
||||
"frame": { "x": 420, "y": 610, "w": 140, "h": 140 },
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": { "x": 10, "y": 0, "w": 140, "h": 140 },
|
||||
"sourceSize": { "w": 160, "h": 160 },
|
||||
"spriteSourceSize": { "x": 0, "y": 0, "w": 140, "h": 140 },
|
||||
"sourceSize": { "w": 140, "h": 160 },
|
||||
"duration": 1
|
||||
},
|
||||
{
|
||||
@@ -166,8 +166,8 @@
|
||||
"frame": { "x": 280, "y": 610, "w": 140, "h": 140 },
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": { "x": 10, "y": 0, "w": 140, "h": 140 },
|
||||
"sourceSize": { "w": 160, "h": 160 },
|
||||
"spriteSourceSize": { "x": 0, "y": 0, "w": 140, "h": 140 },
|
||||
"sourceSize": { "w": 140, "h": 160 },
|
||||
"duration": 1
|
||||
},
|
||||
{
|
||||
@@ -175,8 +175,8 @@
|
||||
"frame": { "x": 140, "y": 480, "w": 140, "h": 140 },
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": { "x": 10, "y": 0, "w": 140, "h": 140 },
|
||||
"sourceSize": { "w": 160, "h": 160 },
|
||||
"spriteSourceSize": { "x": 0, "y": 0, "w": 140, "h": 140 },
|
||||
"sourceSize": { "w": 140, "h": 160 },
|
||||
"duration": 1
|
||||
},
|
||||
{
|
||||
@@ -184,8 +184,8 @@
|
||||
"frame": { "x": 0, "y": 480, "w": 140, "h": 140 },
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": { "x": 10, "y": 0, "w": 140, "h": 140 },
|
||||
"sourceSize": { "w": 160, "h": 160 },
|
||||
"spriteSourceSize": { "x": 0, "y": 0, "w": 140, "h": 140 },
|
||||
"sourceSize": { "w": 140, "h": 160 },
|
||||
"duration": 1
|
||||
},
|
||||
{
|
||||
@@ -193,8 +193,8 @@
|
||||
"frame": { "x": 840, "y": 470, "w": 140, "h": 140 },
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": { "x": 10, "y": 0, "w": 140, "h": 140 },
|
||||
"sourceSize": { "w": 160, "h": 160 },
|
||||
"spriteSourceSize": { "x": 0, "y": 0, "w": 140, "h": 140 },
|
||||
"sourceSize": { "w": 140, "h": 160 },
|
||||
"duration": 1
|
||||
},
|
||||
{
|
||||
@@ -202,8 +202,8 @@
|
||||
"frame": { "x": 700, "y": 470, "w": 140, "h": 140 },
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": { "x": 10, "y": 0, "w": 140, "h": 140 },
|
||||
"sourceSize": { "w": 160, "h": 160 },
|
||||
"spriteSourceSize": { "x": 0, "y": 0, "w": 140, "h": 140 },
|
||||
"sourceSize": { "w": 140, "h": 160 },
|
||||
"duration": 1
|
||||
},
|
||||
{
|
||||
@@ -211,8 +211,8 @@
|
||||
"frame": { "x": 560, "y": 470, "w": 140, "h": 140 },
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": { "x": 10, "y": 0, "w": 140, "h": 140 },
|
||||
"sourceSize": { "w": 160, "h": 160 },
|
||||
"spriteSourceSize": { "x": 0, "y": 0, "w": 140, "h": 140 },
|
||||
"sourceSize": { "w": 140, "h": 160 },
|
||||
"duration": 1
|
||||
},
|
||||
{
|
||||
@@ -220,8 +220,8 @@
|
||||
"frame": { "x": 140, "y": 620, "w": 140, "h": 140 },
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": { "x": 10, "y": 0, "w": 140, "h": 140 },
|
||||
"sourceSize": { "w": 160, "h": 160 },
|
||||
"spriteSourceSize": { "x": 0, "y": 0, "w": 140, "h": 140 },
|
||||
"sourceSize": { "w": 140, "h": 160 },
|
||||
"duration": 1
|
||||
},
|
||||
{
|
||||
@@ -229,8 +229,8 @@
|
||||
"frame": { "x": 420, "y": 470, "w": 140, "h": 140 },
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": { "x": 10, "y": 0, "w": 140, "h": 140 },
|
||||
"sourceSize": { "w": 160, "h": 160 },
|
||||
"spriteSourceSize": { "x": 0, "y": 0, "w": 140, "h": 140 },
|
||||
"sourceSize": { "w": 140, "h": 160 },
|
||||
"duration": 1
|
||||
},
|
||||
{
|
||||
@@ -238,8 +238,8 @@
|
||||
"frame": { "x": 840, "y": 320, "w": 140, "h": 150 },
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": { "x": 10, "y": 0, "w": 140, "h": 150 },
|
||||
"sourceSize": { "w": 160, "h": 160 },
|
||||
"spriteSourceSize": { "x": 0, "y": 0, "w": 140, "h": 150 },
|
||||
"sourceSize": { "w": 140, "h": 160 },
|
||||
"duration": 1
|
||||
},
|
||||
{
|
||||
@@ -247,116 +247,116 @@
|
||||
"frame": { "x": 700, "y": 320, "w": 140, "h": 150 },
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": { "x": 10, "y": 0, "w": 140, "h": 150 },
|
||||
"sourceSize": { "w": 160, "h": 160 },
|
||||
"spriteSourceSize": { "x": 0, "y": 0, "w": 140, "h": 150 },
|
||||
"sourceSize": { "w": 140, "h": 160 },
|
||||
"duration": 1
|
||||
},
|
||||
{
|
||||
"filename": "Sprite-0002 28.aseprite",
|
||||
"frame": { "x": 280, "y": 160, "w": 140, "h": 160 },
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": { "x": 10, "y": 0, "w": 140, "h": 160 },
|
||||
"sourceSize": { "w": 160, "h": 160 },
|
||||
"trimmed": false,
|
||||
"spriteSourceSize": { "x": 0, "y": 0, "w": 140, "h": 160 },
|
||||
"sourceSize": { "w": 140, "h": 160 },
|
||||
"duration": 500
|
||||
},
|
||||
{
|
||||
"filename": "Sprite-0002 29.aseprite",
|
||||
"frame": { "x": 280, "y": 0, "w": 140, "h": 160 },
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": { "x": 10, "y": 0, "w": 140, "h": 160 },
|
||||
"sourceSize": { "w": 160, "h": 160 },
|
||||
"trimmed": false,
|
||||
"spriteSourceSize": { "x": 0, "y": 0, "w": 140, "h": 160 },
|
||||
"sourceSize": { "w": 140, "h": 160 },
|
||||
"duration": 500
|
||||
},
|
||||
{
|
||||
"filename": "Sprite-0002 30.aseprite",
|
||||
"frame": { "x": 420, "y": 0, "w": 140, "h": 160 },
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": { "x": 10, "y": 0, "w": 140, "h": 160 },
|
||||
"sourceSize": { "w": 160, "h": 160 },
|
||||
"trimmed": false,
|
||||
"spriteSourceSize": { "x": 0, "y": 0, "w": 140, "h": 160 },
|
||||
"sourceSize": { "w": 140, "h": 160 },
|
||||
"duration": 200
|
||||
},
|
||||
{
|
||||
"filename": "Sprite-0002 31.aseprite",
|
||||
"frame": { "x": 560, "y": 0, "w": 140, "h": 160 },
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": { "x": 10, "y": 0, "w": 140, "h": 160 },
|
||||
"sourceSize": { "w": 160, "h": 160 },
|
||||
"trimmed": false,
|
||||
"spriteSourceSize": { "x": 0, "y": 0, "w": 140, "h": 160 },
|
||||
"sourceSize": { "w": 140, "h": 160 },
|
||||
"duration": 200
|
||||
},
|
||||
{
|
||||
"filename": "Sprite-0002 32.aseprite",
|
||||
"frame": { "x": 700, "y": 0, "w": 140, "h": 160 },
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": { "x": 10, "y": 0, "w": 140, "h": 160 },
|
||||
"sourceSize": { "w": 160, "h": 160 },
|
||||
"trimmed": false,
|
||||
"spriteSourceSize": { "x": 0, "y": 0, "w": 140, "h": 160 },
|
||||
"sourceSize": { "w": 140, "h": 160 },
|
||||
"duration": 200
|
||||
},
|
||||
{
|
||||
"filename": "Sprite-0002 33.aseprite",
|
||||
"frame": { "x": 420, "y": 0, "w": 140, "h": 160 },
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": { "x": 10, "y": 0, "w": 140, "h": 160 },
|
||||
"sourceSize": { "w": 160, "h": 160 },
|
||||
"trimmed": false,
|
||||
"spriteSourceSize": { "x": 0, "y": 0, "w": 140, "h": 160 },
|
||||
"sourceSize": { "w": 140, "h": 160 },
|
||||
"duration": 200
|
||||
},
|
||||
{
|
||||
"filename": "Sprite-0002 34.aseprite",
|
||||
"frame": { "x": 420, "y": 0, "w": 140, "h": 160 },
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": { "x": 10, "y": 0, "w": 140, "h": 160 },
|
||||
"sourceSize": { "w": 160, "h": 160 },
|
||||
"trimmed": false,
|
||||
"spriteSourceSize": { "x": 0, "y": 0, "w": 140, "h": 160 },
|
||||
"sourceSize": { "w": 140, "h": 160 },
|
||||
"duration": 200
|
||||
},
|
||||
{
|
||||
"filename": "Sprite-0002 35.aseprite",
|
||||
"frame": { "x": 840, "y": 0, "w": 140, "h": 160 },
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": { "x": 10, "y": 0, "w": 140, "h": 160 },
|
||||
"sourceSize": { "w": 160, "h": 160 },
|
||||
"trimmed": false,
|
||||
"spriteSourceSize": { "x": 0, "y": 0, "w": 140, "h": 160 },
|
||||
"sourceSize": { "w": 140, "h": 160 },
|
||||
"duration": 200
|
||||
},
|
||||
{
|
||||
"filename": "Sprite-0002 36.aseprite",
|
||||
"frame": { "x": 0, "y": 160, "w": 140, "h": 160 },
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": { "x": 10, "y": 0, "w": 140, "h": 160 },
|
||||
"sourceSize": { "w": 160, "h": 160 },
|
||||
"trimmed": false,
|
||||
"spriteSourceSize": { "x": 0, "y": 0, "w": 140, "h": 160 },
|
||||
"sourceSize": { "w": 140, "h": 160 },
|
||||
"duration": 200
|
||||
},
|
||||
{
|
||||
"filename": "Sprite-0002 37.aseprite",
|
||||
"frame": { "x": 420, "y": 0, "w": 140, "h": 160 },
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": { "x": 10, "y": 0, "w": 140, "h": 160 },
|
||||
"sourceSize": { "w": 160, "h": 160 },
|
||||
"trimmed": false,
|
||||
"spriteSourceSize": { "x": 0, "y": 0, "w": 140, "h": 160 },
|
||||
"sourceSize": { "w": 140, "h": 160 },
|
||||
"duration": 200
|
||||
},
|
||||
{
|
||||
"filename": "Sprite-0002 38.aseprite",
|
||||
"frame": { "x": 280, "y": 0, "w": 140, "h": 160 },
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": { "x": 10, "y": 0, "w": 140, "h": 160 },
|
||||
"sourceSize": { "w": 160, "h": 160 },
|
||||
"trimmed": false,
|
||||
"spriteSourceSize": { "x": 0, "y": 0, "w": 140, "h": 160 },
|
||||
"sourceSize": { "w": 140, "h": 160 },
|
||||
"duration": 65535
|
||||
},
|
||||
{
|
||||
"filename": "Sprite-0002 39.aseprite",
|
||||
"frame": { "x": 280, "y": 0, "w": 140, "h": 160 },
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": { "x": 10, "y": 0, "w": 140, "h": 160 },
|
||||
"sourceSize": { "w": 160, "h": 160 },
|
||||
"trimmed": false,
|
||||
"spriteSourceSize": { "x": 0, "y": 0, "w": 140, "h": 160 },
|
||||
"sourceSize": { "w": 140, "h": 160 },
|
||||
"duration": 1
|
||||
},
|
||||
{
|
||||
@@ -364,8 +364,8 @@
|
||||
"frame": { "x": 560, "y": 320, "w": 140, "h": 150 },
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": { "x": 10, "y": 10, "w": 140, "h": 150 },
|
||||
"sourceSize": { "w": 160, "h": 160 },
|
||||
"spriteSourceSize": { "x": 0, "y": 10, "w": 140, "h": 150 },
|
||||
"sourceSize": { "w": 140, "h": 160 },
|
||||
"duration": 1
|
||||
},
|
||||
{
|
||||
@@ -373,8 +373,8 @@
|
||||
"frame": { "x": 280, "y": 470, "w": 140, "h": 140 },
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": { "x": 10, "y": 20, "w": 140, "h": 140 },
|
||||
"sourceSize": { "w": 160, "h": 160 },
|
||||
"spriteSourceSize": { "x": 0, "y": 20, "w": 140, "h": 140 },
|
||||
"sourceSize": { "w": 140, "h": 160 },
|
||||
"duration": 1
|
||||
},
|
||||
{
|
||||
@@ -382,8 +382,8 @@
|
||||
"frame": { "x": 280, "y": 750, "w": 140, "h": 130 },
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": { "x": 10, "y": 30, "w": 140, "h": 130 },
|
||||
"sourceSize": { "w": 160, "h": 160 },
|
||||
"spriteSourceSize": { "x": 0, "y": 30, "w": 140, "h": 130 },
|
||||
"sourceSize": { "w": 140, "h": 160 },
|
||||
"duration": 1
|
||||
},
|
||||
{
|
||||
@@ -391,8 +391,8 @@
|
||||
"frame": { "x": 420, "y": 750, "w": 140, "h": 120 },
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": { "x": 10, "y": 40, "w": 140, "h": 120 },
|
||||
"sourceSize": { "w": 160, "h": 160 },
|
||||
"spriteSourceSize": { "x": 0, "y": 40, "w": 140, "h": 120 },
|
||||
"sourceSize": { "w": 140, "h": 160 },
|
||||
"duration": 1
|
||||
},
|
||||
{
|
||||
@@ -400,8 +400,8 @@
|
||||
"frame": { "x": 560, "y": 750, "w": 140, "h": 110 },
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": { "x": 10, "y": 50, "w": 140, "h": 110 },
|
||||
"sourceSize": { "w": 160, "h": 160 },
|
||||
"spriteSourceSize": { "x": 0, "y": 50, "w": 140, "h": 110 },
|
||||
"sourceSize": { "w": 140, "h": 160 },
|
||||
"duration": 1
|
||||
},
|
||||
{
|
||||
@@ -409,8 +409,8 @@
|
||||
"frame": { "x": 700, "y": 750, "w": 140, "h": 100 },
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": { "x": 10, "y": 60, "w": 140, "h": 100 },
|
||||
"sourceSize": { "w": 160, "h": 160 },
|
||||
"spriteSourceSize": { "x": 0, "y": 60, "w": 140, "h": 100 },
|
||||
"sourceSize": { "w": 140, "h": 160 },
|
||||
"duration": 1
|
||||
},
|
||||
{
|
||||
@@ -418,8 +418,8 @@
|
||||
"frame": { "x": 840, "y": 750, "w": 140, "h": 90 },
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": { "x": 10, "y": 70, "w": 140, "h": 90 },
|
||||
"sourceSize": { "w": 160, "h": 160 },
|
||||
"spriteSourceSize": { "x": 0, "y": 70, "w": 140, "h": 90 },
|
||||
"sourceSize": { "w": 140, "h": 160 },
|
||||
"duration": 1
|
||||
},
|
||||
{
|
||||
@@ -427,8 +427,8 @@
|
||||
"frame": { "x": 0, "y": 760, "w": 140, "h": 80 },
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": { "x": 10, "y": 80, "w": 140, "h": 80 },
|
||||
"sourceSize": { "w": 160, "h": 160 },
|
||||
"spriteSourceSize": { "x": 0, "y": 80, "w": 140, "h": 80 },
|
||||
"sourceSize": { "w": 140, "h": 160 },
|
||||
"duration": 1
|
||||
},
|
||||
{
|
||||
@@ -436,8 +436,8 @@
|
||||
"frame": { "x": 140, "y": 760, "w": 140, "h": 70 },
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": { "x": 10, "y": 90, "w": 140, "h": 70 },
|
||||
"sourceSize": { "w": 160, "h": 160 },
|
||||
"spriteSourceSize": { "x": 0, "y": 90, "w": 140, "h": 70 },
|
||||
"sourceSize": { "w": 140, "h": 160 },
|
||||
"duration": 1
|
||||
},
|
||||
{
|
||||
@@ -445,8 +445,8 @@
|
||||
"frame": { "x": 140, "y": 830, "w": 120, "h": 60 },
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": { "x": 20, "y": 100, "w": 120, "h": 60 },
|
||||
"sourceSize": { "w": 160, "h": 160 },
|
||||
"spriteSourceSize": { "x": 10, "y": 100, "w": 120, "h": 60 },
|
||||
"sourceSize": { "w": 140, "h": 160 },
|
||||
"duration": 1
|
||||
},
|
||||
{
|
||||
@@ -454,8 +454,8 @@
|
||||
"frame": { "x": 0, "y": 840, "w": 100, "h": 50 },
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": { "x": 30, "y": 110, "w": 100, "h": 50 },
|
||||
"sourceSize": { "w": 160, "h": 160 },
|
||||
"spriteSourceSize": { "x": 20, "y": 110, "w": 100, "h": 50 },
|
||||
"sourceSize": { "w": 140, "h": 160 },
|
||||
"duration": 1
|
||||
},
|
||||
{
|
||||
@@ -463,8 +463,8 @@
|
||||
"frame": { "x": 840, "y": 840, "w": 100, "h": 40 },
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": { "x": 30, "y": 120, "w": 100, "h": 40 },
|
||||
"sourceSize": { "w": 160, "h": 160 },
|
||||
"spriteSourceSize": { "x": 20, "y": 120, "w": 100, "h": 40 },
|
||||
"sourceSize": { "w": 140, "h": 160 },
|
||||
"duration": 1
|
||||
},
|
||||
{
|
||||
@@ -472,8 +472,8 @@
|
||||
"frame": { "x": 700, "y": 850, "w": 60, "h": 30 },
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": { "x": 50, "y": 130, "w": 60, "h": 30 },
|
||||
"sourceSize": { "w": 160, "h": 160 },
|
||||
"spriteSourceSize": { "x": 40, "y": 130, "w": 60, "h": 30 },
|
||||
"sourceSize": { "w": 140, "h": 160 },
|
||||
"duration": 1
|
||||
},
|
||||
{
|
||||
@@ -481,8 +481,8 @@
|
||||
"frame": { "x": 760, "y": 850, "w": 60, "h": 20 },
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": { "x": 50, "y": 140, "w": 60, "h": 20 },
|
||||
"sourceSize": { "w": 160, "h": 160 },
|
||||
"spriteSourceSize": { "x": 40, "y": 140, "w": 60, "h": 20 },
|
||||
"sourceSize": { "w": 140, "h": 160 },
|
||||
"duration": 1
|
||||
},
|
||||
{
|
||||
@@ -490,8 +490,8 @@
|
||||
"frame": { "x": 560, "y": 860, "w": 60, "h": 10 },
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": { "x": 50, "y": 150, "w": 60, "h": 10 },
|
||||
"sourceSize": { "w": 160, "h": 160 },
|
||||
"spriteSourceSize": { "x": 40, "y": 150, "w": 60, "h": 10 },
|
||||
"sourceSize": { "w": 140, "h": 160 },
|
||||
"duration": 1
|
||||
}
|
||||
],
|
||||
|
1
libs/hump
Submodule
1
libs/hump
Submodule
Submodule libs/hump added at 08937cc0ec
26
main.lua
26
main.lua
@@ -1,19 +1,25 @@
|
||||
--load peachy
|
||||
peachy = require("libs/peachy")
|
||||
|
||||
--load globals
|
||||
local globals = require("modules/globals")
|
||||
game = globals.game
|
||||
|
||||
--load player
|
||||
player = require("modules/player")
|
||||
|
||||
--load floors
|
||||
floors = require("modules/floors")
|
||||
|
||||
--load content_loader
|
||||
local content_loader = require("modules/content_loader")
|
||||
spritesheets = content_loader.spritesheets
|
||||
sound_effects = content_loader.sound_effects
|
||||
backgrounds = content_loader.backgrounds
|
||||
music = content_loader.music
|
||||
|
||||
--load globals
|
||||
local globals = require("modules/globals")
|
||||
local game = globals.game
|
||||
player:init(sound_effects, spritesheets, game)
|
||||
--load hump camera
|
||||
Camera = require("libs/hump/camera")
|
||||
camera = Camera(player.object.body:getX(), player.object.body:getY())
|
||||
|
||||
--load draw_callback
|
||||
draw_mod = require("modules/draw_callback")
|
||||
@@ -25,9 +31,13 @@ update_mod = require("modules/update_callback")
|
||||
local update_callback = update_mod.update
|
||||
local updateinit = update_mod.updateinit
|
||||
|
||||
drawerinit(spritesheets, player, game)
|
||||
updateinit(game)
|
||||
player:init(sound_effects, spritesheets, game)
|
||||
floors:addFloor("Bottom", game, 0, (game:getcurlevel().height /4) - 160, game:getcurlevel().width, 160, 255, 255, 255, 255)
|
||||
|
||||
drawerinit(spritesheets, player, game, camera, floors)
|
||||
updateinit(game, camera, floors)
|
||||
|
||||
--play music for level
|
||||
game:getcurlevel().music:play()
|
||||
|
||||
function love.draw()
|
||||
draw_callback()
|
||||
|
@@ -15,22 +15,13 @@ spritesheets["player_die"] = peachy.new("assets/images/spritesheets/player.json"
|
||||
--load player DEFAULT
|
||||
spritesheets["player_default"] = peachy.new("assets/images/spritesheets/player.json", love.graphics.newImage("assets/images/spritesheets/player.png"), "Default")
|
||||
|
||||
--load backgrounds
|
||||
local backgrounds = {}
|
||||
for i, file in ipairs(love.filesystem.getDirectoryItems("assets/images/backgrounds")) do
|
||||
if file:find(".png") then
|
||||
--load backgrounds
|
||||
print(i)
|
||||
backgrounds[i] = love.graphics.newImage("assets/images/backgrounds/"..file)
|
||||
end
|
||||
end
|
||||
--load sound effects
|
||||
local sound_effects = {}
|
||||
for i, file in ipairs(love.filesystem.getDirectoryItems("assets/sounds/effects")) do
|
||||
for i, file in ipairs(love.filesystem.getDirectoryItems("assets/audio/effects")) do
|
||||
if file:find(".ogg") then
|
||||
--load sound effects
|
||||
local keyname = file:gsub(".ogg", "")
|
||||
sound = love.audio.newSource("assets/sounds/effects/"..file, "static")
|
||||
sound = love.audio.newSource("assets/audio/effects/"..file, "static")
|
||||
sound_effects[keyname] = {}
|
||||
sound_effects[keyname].volume = 1
|
||||
sound_effects[keyname].timer = love.timer.getTime()
|
||||
@@ -48,17 +39,7 @@ for i, file in ipairs(love.filesystem.getDirectoryItems("assets/sounds/effects")
|
||||
end
|
||||
end
|
||||
end
|
||||
--load music
|
||||
local music = {}
|
||||
for i, file in ipairs(love.filesystem.getDirectoryItems("assets/sounds/music")) do
|
||||
if file:find(".ogg") then
|
||||
--load music
|
||||
music[file:sub(1, -5)] = love.audio.newSource("assets/sounds/music/"..file, "stream")
|
||||
end
|
||||
end
|
||||
return {
|
||||
spritesheets = spritesheets,
|
||||
backgrounds = backgrounds,
|
||||
sound_effects = sound_effects,
|
||||
music = music
|
||||
}
|
@@ -1,31 +1,43 @@
|
||||
local spritesheets = {}
|
||||
local player = {}
|
||||
local game = {}
|
||||
local camera = {}
|
||||
local floors = {}
|
||||
|
||||
function drawerinit(spritesheetst, playert, gamex)
|
||||
function drawerinit(spritesheetst, playert, gamex, camerax, floorsx)
|
||||
spritesheets = spritesheetst
|
||||
player = playert
|
||||
game = gamex
|
||||
camera = camerax
|
||||
floors = floorsx
|
||||
end
|
||||
|
||||
local function draw()
|
||||
camera:attach()
|
||||
--draw rectangle with bottom at 980y and top at 850y which stretches acress the entire modules/player
|
||||
--draw background
|
||||
love.graphics.draw(backgrounds[game.level], 0, 0)
|
||||
--draw player_animation
|
||||
player.animation:draw(player.x, player.y)
|
||||
if player.state == "idle" then
|
||||
spritesheets["player_idle"]:draw(player.x, player.y)
|
||||
elseif player.state == "walk_left" then
|
||||
spritesheets["player_walk_left"]:draw(player.x, player.y)
|
||||
elseif player.state == "walk_right" then
|
||||
spritesheets["player_walk_right"]:draw(player.x, player.y)
|
||||
elseif player.state == "jump" then
|
||||
spritesheets["player_jump"]:draw(player.x, player.y)
|
||||
elseif player.state == "die" then
|
||||
spritesheets["player_die"]:draw(player.x, player.y)
|
||||
else
|
||||
spritesheets["player_default"]:draw(player.x, player.y)
|
||||
love.graphics.draw(game:getcurlevel().background, 0, -(game:getcurlevel().height) + 280)
|
||||
--draw floors
|
||||
for i = 1, #floors, 1 do
|
||||
love.graphics.setColor(love.math.colorFromBytes(floors[i].color[1], floors[i].color[2], floors[i].color[3], floors[i].color[4]))
|
||||
love.graphics.rectangle("fill", floors[i].x, floors[i].y, floors[i].width, floors[i].height)
|
||||
end
|
||||
--draw player_animation
|
||||
player.animation:draw(player.object.body:getX(), player.object.body:getY())
|
||||
if player.state == "idle" then
|
||||
spritesheets["player_idle"]:draw(player.object.body:getX(), player.object.body:getY())
|
||||
elseif player.state == "walk_left" then
|
||||
spritesheets["player_walk_left"]:draw(player.object.body:getX(), player.object.body:getY())
|
||||
elseif player.state == "walk_right" then
|
||||
spritesheets["player_walk_right"]:draw(player.object.body:getX(), player.object.body:getY())
|
||||
elseif player.state == "jump" then
|
||||
spritesheets["player_jump"]:draw(player.object.body:getX(), player.object.body:getY())
|
||||
elseif player.state == "die" then
|
||||
spritesheets["player_die"]:draw(player.object.body:getX(), player.object.body:getY())
|
||||
else
|
||||
spritesheets["player_default"]:draw(player.object.body:getX(), player.object.body:getY())
|
||||
end
|
||||
camera:detach()
|
||||
end
|
||||
return {
|
||||
drawerinit = drawerinit,
|
||||
|
28
modules/floors.lua
Normal file
28
modules/floors.lua
Normal file
@@ -0,0 +1,28 @@
|
||||
local floors = {}
|
||||
floors.addFloor = function(self, name, game, x, y, w, h, r, g, b, a)
|
||||
local floor = {}
|
||||
floor.name = name
|
||||
floor.x = x
|
||||
floor.y = y
|
||||
floor.width = w
|
||||
floor.height = h
|
||||
floor.userdata = "floor"
|
||||
floor.color = {r, g, b, a}
|
||||
floor.body = love.physics.newBody(game.world, x + w / 2, y, "static")
|
||||
floor.shape = love.physics.newRectangleShape(w, h)
|
||||
floor.fixture = love.physics.newFixture(floor.body, floor.shape)
|
||||
floor.fixture:setUserData(floor.userdata)
|
||||
table.insert(self, floor)
|
||||
game.objects.floors = self.floors
|
||||
end
|
||||
floors.listFloors = function(self)
|
||||
allstr = ""
|
||||
for i,v in pairs(self) do
|
||||
--if v is not a function
|
||||
if type(v) ~= "function" then
|
||||
allstr = allstr .. (v.name..": \""..v.body:getX().."\"; y: \""..v.body:getY().."\";;;")
|
||||
end
|
||||
end
|
||||
return allstr
|
||||
end
|
||||
return floors
|
@@ -6,7 +6,27 @@ game.title = "Weeeeeeeee"
|
||||
game.version = "0.0.1"
|
||||
game.fullscreen = false
|
||||
game.level = 1
|
||||
game.die_animation_elapsed = false
|
||||
game.level_count = 1
|
||||
game.levels = {}
|
||||
game.objects = {}
|
||||
--set up physics
|
||||
love.physics.setMeter(64)
|
||||
game.world = love.physics.newWorld(0, 9.81*64, true)
|
||||
game.getcurlevel = function(self)
|
||||
return self.levels[self.level]
|
||||
end
|
||||
|
||||
for i = 1, game.level_count, 1 do
|
||||
game.levels[i] = {}
|
||||
game.levels[i].background = love.graphics.newImage("assets/images/backgrounds/level".. i .."_hires.png")
|
||||
game.levels[i].width = game.levels[i].background:getWidth()
|
||||
game.levels[i].height = game.levels[i].background:getHeight()
|
||||
--print level dimensions
|
||||
print("Level " .. i .. " dimensions: " .. game.levels[i].width .. "x" .. game.levels[i].height)
|
||||
game.levels[i].music = love.audio.newSource("assets/audio/music/track".. i ..".ogg", "static")
|
||||
game.levels[i].music:setLooping(true)
|
||||
end
|
||||
|
||||
|
||||
return {
|
||||
game = game
|
||||
|
@@ -1,47 +1,70 @@
|
||||
local player = {}
|
||||
player.x = 0
|
||||
player.y = 500
|
||||
player.width = 160
|
||||
player.width = 140
|
||||
player.height = 160
|
||||
player.speed = 200
|
||||
player.jump_height = 500
|
||||
player.speed = 320000
|
||||
player.speed_jumping = 640000
|
||||
player.speed_walking = 320000
|
||||
player.jump_height = 400
|
||||
player.state = "idle"
|
||||
player.direction = "right"
|
||||
player.alive = true
|
||||
player.object = {}
|
||||
player.init = function(self, sound_effects, spritesheets, game)
|
||||
self.sound_effects = sound_effects
|
||||
self.spritesheets = spritesheets
|
||||
self.game = game
|
||||
player.animation = spritesheets["player_idle"]
|
||||
self.animation = spritesheets["player_idle"]
|
||||
self.object.body = love.physics.newBody(game.world, player.width, player.height, "dynamic")
|
||||
self.object.shape = love.physics.newRectangleShape(player.width, player.height)
|
||||
self.object.fixture = love.physics.newFixture(self.object.body, self.object.shape)
|
||||
self.object.fixture:setUserData("player")
|
||||
self.spawnx, self.spawny = game:getcurlevel().width / 2, game:getcurlevel().height / 4 - self.height * 2
|
||||
self.object.body:setPosition(self.spawnx, self.spawny)
|
||||
self.game.player = self
|
||||
end
|
||||
|
||||
player.walk_right = function(self, dt)
|
||||
if self.x < self.game.width - self.width and self.alive then
|
||||
self.x = self.x + self.speed * dt
|
||||
if self.alive then
|
||||
self.object.body:applyForce(self.speed * dt, 0)
|
||||
self.state = "walk_right"
|
||||
self.direction = "right"
|
||||
self.animation = self.spritesheets["player_walk_right"]
|
||||
end
|
||||
end
|
||||
player.walk_left = function(self, dt)
|
||||
if self.x > 0 and self.alive then
|
||||
self.x = self.x - self.speed * dt
|
||||
if self.alive then
|
||||
self.object.body:applyForce(-(self.speed * dt), 0)
|
||||
self.state = "walk_left"
|
||||
self.direction = "left"
|
||||
self.animation = self.spritesheets["player_walk_left"]
|
||||
end
|
||||
end
|
||||
player.jump = function(self, dt)
|
||||
if self.y > 0 and self.alive then
|
||||
self.y = self.y - self.jump_height * dt
|
||||
--check if alive and if on floor
|
||||
if self.alive then
|
||||
--check all contacts
|
||||
for i,v in pairs(self.object.body:getContacts()) do
|
||||
--get fixtures
|
||||
local fixtureA, fixtureB = v:getFixtures( )
|
||||
--get userdata
|
||||
local userdataA = fixtureA:getUserData()
|
||||
local userdataB = fixtureB:getUserData()
|
||||
--check if on floor
|
||||
if userdataA == "floor" or userdataB == "floor" then
|
||||
--jump
|
||||
self.object.body:applyLinearImpulse(0, -self.jump_height)
|
||||
self.state = "jump"
|
||||
self.animation = self.spritesheets["player_jump"]
|
||||
self.sound_effects["jump"]:play()
|
||||
break
|
||||
end
|
||||
|
||||
end
|
||||
end
|
||||
end
|
||||
player.down = function(self, dt)
|
||||
if self.y < self.game.height - self.height and self.alive then
|
||||
self.y = self.y + self.jump_height * dt
|
||||
if self.alive then
|
||||
self.object.body:applyForce(0, self.jump_height * dt)
|
||||
self.state = "jump"
|
||||
self.animation = self.spritesheets["player_jump"]
|
||||
self.sound_effects["jump"]:play()
|
||||
@@ -53,7 +76,7 @@ player.die = function(self, dt)
|
||||
self.state = "die"
|
||||
self.animation = self.spritesheets["player_die"]
|
||||
self.sound_effects["die"]:play()
|
||||
die_animation_elapsed = false
|
||||
self.spritesheets["player_die"]:setFrame(1)
|
||||
end
|
||||
end
|
||||
player.revive = function(self, dt)
|
||||
@@ -62,7 +85,8 @@ player.revive = function(self, dt)
|
||||
self.state = "idle"
|
||||
self.animation = self.spritesheets["player_default"]
|
||||
self.sound_effects["revive"]:play()
|
||||
die_animation_elapsed = false
|
||||
self.spritesheets["player_die"]:setFrame(1)
|
||||
|
||||
end
|
||||
end
|
||||
player.idle = function(self, dt)
|
||||
@@ -77,4 +101,17 @@ player.default = function(self, dt)
|
||||
self.animation = self.spritesheets["player_default"]
|
||||
end
|
||||
end
|
||||
player.update = function(self, dt)
|
||||
if self.alive then
|
||||
--check if below map
|
||||
if self.object.body:getY() > self.game:getcurlevel().height then
|
||||
self:die()
|
||||
--reset position, rotation and velocity
|
||||
self.object.body:setPosition(self.spawnx, self.spawny)
|
||||
self.object.body:setAngle(0)
|
||||
self.object.body:setLinearVelocity(0, 0)
|
||||
self:revive()
|
||||
end
|
||||
end
|
||||
end
|
||||
return player
|
@@ -1,15 +1,17 @@
|
||||
local game = {}
|
||||
|
||||
local function updateinit(gamex)
|
||||
local camera = {}
|
||||
local floors = {}
|
||||
local function updateinit(gamex, camerax, floorsx)
|
||||
game = gamex
|
||||
camera = camerax
|
||||
floors = floorsx
|
||||
end
|
||||
|
||||
local function update(dt)
|
||||
game.world:update(dt)
|
||||
--update player_animation
|
||||
if spritesheets["player_die"]:getFrame() ~= 16 and not game.die_animation_elapsed then
|
||||
if spritesheets["player_die"]:getFrame() ~= 16 then
|
||||
spritesheets["player_die"]:update(dt)
|
||||
else
|
||||
game.die_animation_elapsed = true
|
||||
end
|
||||
if player.alive then
|
||||
spritesheets["player_jump"]:update(dt)
|
||||
@@ -21,32 +23,55 @@ local function update(dt)
|
||||
|
||||
--get keyboard
|
||||
local key = love.keyboard.isDown
|
||||
player:idle(dt)
|
||||
--move player
|
||||
if key("d") then
|
||||
player:walk_right(dt)
|
||||
elseif key("a") then
|
||||
player:walk_left(dt)
|
||||
else
|
||||
player:idle(dt)
|
||||
end
|
||||
--jump player
|
||||
if key("w") then
|
||||
player:jump(dt)
|
||||
player.speed = player.speed_jumping
|
||||
else
|
||||
player.speed = player.speed_walking
|
||||
end
|
||||
if game.debug then
|
||||
if key("s") then
|
||||
player:down(dt)
|
||||
player.speed = player.speed_jumping
|
||||
else
|
||||
player.speed = player.speed_walking
|
||||
end
|
||||
if key("f") then
|
||||
--die
|
||||
player.spritesheets["player_die"]:setFrame(1)
|
||||
player:die(dt)
|
||||
game.die_animation_elapsed = false
|
||||
elseif key("g") then
|
||||
--revive player
|
||||
player.spritesheets["player_die"]:setFrame(1)
|
||||
player:revive(dt)
|
||||
game.die_animation_elapsed = false
|
||||
end
|
||||
if key("x") then
|
||||
--print coordinates of all objects
|
||||
local allstr = floors:listFloors()
|
||||
allstr = allstr .. ("Player: \""..game.player.object.body:getX().."\"; y: \""..game.player.object.body:getY().."\";;;")
|
||||
print(allstr)
|
||||
end
|
||||
if key("c") then
|
||||
--reset player position
|
||||
player.object.body:setX(player.spawnx)
|
||||
player.object.body:setY(player.spawny)
|
||||
--and velocity
|
||||
player.object.body:setLinearVelocity(0, 0)
|
||||
--and rotation
|
||||
player.object.body:setAngle(0)
|
||||
end
|
||||
end
|
||||
player:update(dt)
|
||||
local dx,dy = (player.object.body:getX() - camera.x) / 2, (player.object.body:getY() - camera.y) / 2
|
||||
camera:move(dx, dy)
|
||||
end
|
||||
return {
|
||||
update = update,
|
||||
|
Reference in New Issue
Block a user