Added balloons

This commit is contained in:
theo@manjaro 2021-11-17 17:28:02 +01:00
parent 919cb82707
commit 9d4c8b000e
8 changed files with 301 additions and 258 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.4 KiB

View File

@ -1061,11 +1061,11 @@
[-1],
[-1],
[-1],
[-1],
[-1],
[-1],
[-1],
[-1],
[4, 4],
[5, 4],
[6, 4],
[5, 4],
[6, 4],
[-1],
[-1],
[-1],
@ -1121,7 +1121,7 @@
[1, 0],
[1, 0],
[1, 0],
[1, 0],
[2, 0],
[-1],
[-1],
[7, 5],
@ -1150,11 +1150,11 @@
[-1],
[-1],
[-1],
[-1],
[-1],
[-1],
[-1],
[-1],
[4, 5],
[5, 5],
[6, 5],
[5, 5],
[6, 5],
[-1],
[-1],
[-1],
@ -1210,7 +1210,7 @@
[1, 1],
[1, 1],
[1, 1],
[1, 1],
[2, 1],
[7, 4],
[8, 4],
[7, 4],
@ -1226,6 +1226,10 @@
[-1],
[-1],
[-1],
[5, 4],
[6, 4],
[5, 4],
[6, 4],
[-1],
[-1],
[-1],
@ -1235,15 +1239,11 @@
[-1],
[-1],
[-1],
[-1],
[-1],
[-1],
[-1],
[-1],
[-1],
[-1],
[-1],
[-1],
[4, 5],
[7, 4],
[8, 4],
[7, 4],
[8, 4],
[-1],
[-1],
[-1],
@ -1299,7 +1299,7 @@
[1, 1],
[1, 1],
[1, 1],
[1, 1],
[2, 1],
[7, 5],
[8, 5],
[7, 5],
@ -1315,6 +1315,10 @@
[-1],
[-1],
[-1],
[5, 5],
[6, 5],
[5, 5],
[6, 5],
[-1],
[-1],
[-1],
@ -1324,15 +1328,11 @@
[-1],
[-1],
[-1],
[-1],
[-1],
[-1],
[-1],
[-1],
[-1],
[-1],
[-1],
[-1],
[4, 6],
[7, 5],
[8, 5],
[7, 5],
[8, 5],
[-1],
[-1],
[-1],
@ -1388,7 +1388,7 @@
[1, 1],
[1, 1],
[1, 1],
[1, 1],
[2, 1],
[7, 4],
[8, 4],
[-1],
@ -1402,6 +1402,12 @@
[-1],
[-1],
[-1],
[0, 0],
[1, 0],
[1, 0],
[2, 0],
[7, 4],
[8, 4],
[-1],
[-1],
[-1],
@ -1411,17 +1417,11 @@
[-1],
[-1],
[-1],
[-1],
[-1],
[-1],
[-1],
[-1],
[-1],
[-1],
[-1],
[-1],
[-1],
[-1],
[4, 6],
[7, 4],
[8, 4],
[7, 4],
[8, 4],
[-1],
[-1],
[-1],
@ -1477,7 +1477,7 @@
[1, 1],
[1, 1],
[1, 1],
[1, 1],
[2, 1],
[7, 5],
[8, 5],
[-1],
@ -1490,6 +1490,15 @@
[-1],
[-1],
[-1],
[2, 6],
[0, 2],
[5, 0],
[1, 1],
[3, 2],
[1, 0],
[1, 0],
[6, 0],
[8, 0],
[-1],
[-1],
[-1],
@ -1497,20 +1506,11 @@
[-1],
[-1],
[-1],
[-1],
[-1],
[-1],
[-1],
[-1],
[-1],
[-1],
[-1],
[-1],
[-1],
[-1],
[-1],
[-1],
[-1],
[4, 6],
[7, 5],
[8, 5],
[7, 5],
[8, 5],
[-1],
[-1],
[-1],
@ -1566,7 +1566,7 @@
[1, 1],
[1, 1],
[1, 1],
[1, 1],
[2, 1],
[-1],
[-1],
[-1],
@ -1579,6 +1579,15 @@
[-1],
[-1],
[-1],
[0, 5],
[1, 5],
[0, 1],
[1, 1],
[1, 1],
[6, 0],
[7, 0],
[11, 2],
[8, 1],
[-1],
[-1],
[-1],
@ -1587,19 +1596,10 @@
[-1],
[-1],
[-1],
[-1],
[-1],
[-1],
[-1],
[-1],
[-1],
[-1],
[-1],
[-1],
[-1],
[-1],
[-1],
[-1],
[7, 4],
[8, 4],
[0, 5],
[1, 5],
[-1],
[-1],
[-1],
@ -1655,7 +1655,7 @@
[1, 1],
[1, 1],
[1, 1],
[1, 1],
[2, 1],
[-1],
[-1],
[-1],
@ -1668,6 +1668,15 @@
[-1],
[-1],
[-1],
[0, 6],
[1, 6],
[0, 2],
[6, 0],
[7, 0],
[11, 2],
[7, 1],
[7, 1],
[8, 1],
[-1],
[-1],
[-1],
@ -1676,19 +1685,10 @@
[-1],
[-1],
[-1],
[-1],
[-1],
[-1],
[-1],
[-1],
[-1],
[-1],
[-1],
[-1],
[-1],
[-1],
[-1],
[-1],
[7, 5],
[8, 5],
[0, 6],
[1, 6],
[-1],
[-1],
[-1],
@ -1744,7 +1744,7 @@
[1, 1],
[1, 1],
[1, 1],
[1, 1],
[2, 1],
[-1],
[-1],
[-1],
@ -1757,6 +1757,15 @@
[-1],
[-1],
[-1],
[0, 5],
[1, 5],
[0, 5],
[6, 2],
[11, 0],
[7, 1],
[7, 1],
[7, 1],
[8, 1],
[-1],
[-1],
[-1],
@ -1765,17 +1774,8 @@
[-1],
[-1],
[-1],
[-1],
[-1],
[-1],
[-1],
[-1],
[-1],
[-1],
[-1],
[-1],
[-1],
[-1],
[0, 5],
[1, 5],
[-1],
[-1],
[-1],
@ -1846,6 +1846,15 @@
[7, 0],
[7, 0],
[7, 0],
[8, 0],
[1, 6],
[0, 6],
[0, 2],
[6, 1],
[7, 1],
[7, 1],
[9, 0],
[8, 2],
[-1],
[-1],
[-1],
@ -1854,17 +1863,8 @@
[-1],
[-1],
[-1],
[-1],
[-1],
[-1],
[-1],
[-1],
[-1],
[-1],
[-1],
[-1],
[-1],
[-1],
[0, 6],
[1, 6],
[-1],
[-1],
[-1],
@ -1935,14 +1935,14 @@
[7, 1],
[7, 1],
[7, 1],
[8, 1],
[-1],
[-1],
[-1],
[-1],
[-1],
[-1],
[-1],
[-1],
[0, 5],
[1, 5],
[6, 1],
[7, 1],
[7, 1],
[8, 1],
[-1],
[-1],
[-1],
@ -2002,36 +2002,36 @@
[-1],
[-1],
[-1],
[6, 1],
[7, 1],
[7, 1],
[7, 1],
[7, 1],
[7, 1],
[7, 1],
[7, 1],
[7, 1],
[7, 1],
[7, 1],
[7, 1],
[7, 1],
[7, 1],
[7, 1],
[7, 1],
[7, 1],
[7, 1],
[7, 1],
[7, 1],
[7, 1],
[7, 1],
[8, 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],
[-1],
[-1],
[-1],
[0, 6],
[1, 6],
[6, 1],
[7, 1],
[7, 1],
[8, 1],
[-1],
[-1],
[-1],
@ -2091,36 +2091,36 @@
[-1],
[-1],
[-1],
[6, 1],
[7, 1],
[7, 1],
[7, 1],
[7, 1],
[7, 1],
[7, 1],
[7, 1],
[7, 1],
[7, 1],
[7, 1],
[7, 1],
[7, 1],
[7, 1],
[7, 1],
[7, 1],
[7, 1],
[7, 1],
[7, 1],
[7, 1],
[7, 1],
[7, 1],
[8, 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],
[-1],
[-1],
[-1],
[6, 1],
[7, 1],
[7, 1],
[8, 1],
[-1],
[-1],
[-1],
@ -2180,36 +2180,36 @@
[-1],
[-1],
[-1],
[6, 1],
[7, 1],
[7, 1],
[7, 1],
[7, 1],
[7, 1],
[7, 1],
[7, 1],
[7, 1],
[7, 1],
[7, 1],
[7, 1],
[7, 1],
[7, 1],
[7, 1],
[7, 1],
[7, 1],
[7, 1],
[7, 1],
[7, 1],
[7, 1],
[7, 1],
[8, 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],
[-1],
[-1],
[-1],
[6, 1],
[7, 1],
[7, 1],
[8, 1],
[-1],
[-1],
[-1],
@ -2269,36 +2269,36 @@
[-1],
[-1],
[-1],
[6, 1],
[7, 1],
[7, 1],
[7, 1],
[7, 1],
[7, 1],
[7, 1],
[7, 1],
[7, 1],
[7, 1],
[7, 1],
[7, 1],
[7, 1],
[7, 1],
[7, 1],
[7, 1],
[7, 1],
[7, 1],
[7, 1],
[7, 1],
[7, 1],
[7, 1],
[8, 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],
[-1],
[-1],
[-1],
[6, 1],
[7, 1],
[7, 1],
[8, 1],
[-1],
[-1],
[-1],
@ -2358,36 +2358,36 @@
[-1],
[-1],
[-1],
[6, 2],
[7, 1],
[7, 1],
[7, 1],
[7, 1],
[7, 1],
[7, 1],
[7, 1],
[7, 1],
[7, 1],
[7, 1],
[7, 1],
[7, 1],
[7, 1],
[7, 1],
[7, 1],
[7, 1],
[7, 1],
[7, 1],
[7, 1],
[7, 1],
[7, 1],
[8, 2],
[-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],
[-1],
[-1],
[6, 1],
[7, 1],
[7, 1],
[8, 1],
[-1],
[-1],
[-1],
@ -2434,15 +2434,22 @@
"gridCellsY": 27,
"entities": [
{"name": "Solid", "id": 25, "_eid": "17026310", "x": 16, "y": 224, "width": 208, "height": 80, "originX": 0, "originY": 0},
{"name": "Solid", "id": 26, "_eid": "17026310", "x": 432, "y": 224, "width": 160, "height": 128, "originX": 0, "originY": 0},
{"name": "Solid", "id": 26, "_eid": "17026310", "x": 432, "y": 224, "width": 160, "height": 208, "originX": 0, "originY": 0},
{"name": "Solid", "id": 27, "_eid": "17026310", "x": 480, "y": 192, "width": 112, "height": 32, "originX": 0, "originY": 0},
{"name": "SemiSolid", "id": 28, "_eid": "59763689", "x": 384, "y": 224, "width": 48, "height": 16, "originX": 0, "originY": 0},
{"name": "Solid", "id": 29, "_eid": "17026310", "x": 592, "y": 320, "width": 192, "height": 32, "originX": 0, "originY": 0},
{"name": "Solid", "id": 29, "_eid": "17026310", "x": 592, "y": 320, "width": 208, "height": 112, "originX": 0, "originY": 0},
{"name": "Solid", "id": 30, "_eid": "17026310", "x": 656, "y": 160, "width": 32, "height": 96, "originX": 0, "originY": 0},
{"name": "Solid", "id": 31, "_eid": "17026310", "x": 592, "y": 96, "width": 16, "height": 16, "originX": 0, "originY": 0},
{"name": "Solid", "id": 32, "_eid": "17026310", "x": 704, "y": 48, "width": 32, "height": 208, "originX": 0, "originY": 0},
{"name": "Solid", "id": 33, "_eid": "17026310", "x": 736, "y": 64, "width": 16, "height": 160, "originX": 0, "originY": 0},
{"name": "Solid", "id": 34, "_eid": "17026310", "x": 688, "y": 144, "width": 16, "height": 112, "originX": 0, "originY": 0}
{"name": "Solid", "id": 34, "_eid": "17026310", "x": 688, "y": 144, "width": 16, "height": 112, "originX": 0, "originY": 0},
{"name": "Solid", "id": 35, "_eid": "17026310", "x": 800, "y": 240, "width": 64, "height": 16, "originX": 0, "originY": 0},
{"name": "Solid", "id": 36, "_eid": "17026310", "x": 800, "y": 256, "width": 128, "height": 16, "originX": 0, "originY": 0},
{"name": "Solid", "id": 37, "_eid": "17026310", "x": 816, "y": 272, "width": 112, "height": 32, "originX": 0, "originY": 0},
{"name": "Solid", "id": 38, "_eid": "17026310", "x": 832, "y": 304, "width": 96, "height": 32, "originX": 0, "originY": 0},
{"name": "Solid", "id": 39, "_eid": "17026310", "x": 848, "y": 336, "width": 64, "height": 96, "originX": 0, "originY": 0},
{"name": "SemiSolid", "id": 40, "_eid": "59763689", "x": 832, "y": 208, "width": 64, "height": 16, "originX": 0, "originY": 0},
{"name": "SemiSolid", "id": 42, "_eid": "59763689", "x": 1040, "y": 176, "width": 80, "height": 16, "originX": 0, "originY": 0}
]
},
{
@ -2488,7 +2495,10 @@
{"name": "Crate", "id": 13, "_eid": "16023910", "x": 640, "y": 208, "originX": 0, "originY": 0},
{"name": "Crate", "id": 14, "_eid": "16023910", "x": 624, "y": 208, "originX": 0, "originY": 0},
{"name": "Crate", "id": 15, "_eid": "16023910", "x": 608, "y": 208, "originX": 0, "originY": 0},
{"name": "Crate", "id": 16, "_eid": "16023910", "x": 592, "y": 208, "originX": 0, "originY": 0}
{"name": "Crate", "id": 16, "_eid": "16023910", "x": 592, "y": 208, "originX": 0, "originY": 0},
{"name": "Balloon", "id": 18, "_eid": "16494694", "x": 912, "y": 160, "originX": 0, "originY": 0},
{"name": "Balloon", "id": 19, "_eid": "16494694", "x": 976, "y": 144, "originX": 0, "originY": 0},
{"name": "Balloon", "id": 20, "_eid": "16494694", "x": 816, "y": 144, "originX": 0, "originY": 0}
]
}
]

View File

@ -0,0 +1,32 @@
from gamedata.objects.combat.ennemies.ennemy import Ennemy
class Balloon(Ennemy):
def __init__(self,x,y,game,nodes=None):
super().__init__(x,y,game,nodes)
self.sprites = game.getSpriteDir("balloon/")
self.deadsprite = game.sprite_lib["balloon/broke.png"]
self.rect[2],self.rect[3] = self.sprites[0].get_size()
self.spriteindex = 0
self.animspeed = 2
self.flip = False
self.canhit = False
def step(self):
super().step()
self.spriteindex+=self.animspeed*self.game.dt
self.sprite = self.sprites[int(self.spriteindex)%len(self.sprites)]
self.flip = self.player.rect.center[0]>self.rect.center[0]
def draw(self):
if not self.dead:
index = int(self.spriteindex)%len(self.sprites)
veroffset = [0,2,0,-2][index]
sprite = self.game.pygame.transform.flip(self.sprite,self.flip,False)
self.game.window.blit(sprite,[self.rect[0]-self.game.globals["camerax"],self.rect[1]-self.game.globals["cameray"]+veroffset])

View File

@ -1,6 +1,7 @@
from gamedata.objects.base import BaseObject
from gamedata.objects.combat.ennemies.robot import Robot
from gamedata.objects.combat.ennemies.crate import Crate
from gamedata.objects.combat.ennemies.balloon import Balloon
class TilesetRenderer(BaseObject):
@ -38,7 +39,7 @@ class TilesetRenderer(BaseObject):
self.layers = []
self.spawns = []
spawnlists = {"Spawns":self.spawns}
ennemies = {"Robot":Robot,"Crate":Crate}
ennemies = {"Robot":Robot,"Crate":Crate,"Balloon":Balloon}
self.queue = [] # For spawning ennemies after beeing initialized
if "layers" in json.keys() and type(json["layers"]).__name__=="list":
solidlayer = False