Import des collisions depuis un fichier de map
This commit is contained in:
parent
a1cbe26892
commit
78f015a082
@ -1,5 +1,5 @@
|
|||||||
from random import *
|
from random import *
|
||||||
import sys,os,math,shutil,traceback
|
import sys,os,math,shutil,json
|
||||||
|
|
||||||
def ex_sql(db_name,request,replace=""):
|
def ex_sql(db_name,request,replace=""):
|
||||||
conn = sqlite3.connect(db_name)
|
conn = sqlite3.connect(db_name)
|
||||||
|
@ -19,6 +19,8 @@ class Game():
|
|||||||
self.fontfilesmall = pygame.font.Font(font,18)
|
self.fontfilesmall = pygame.font.Font(font,18)
|
||||||
self.fontfilebig = pygame.font.Font(font,60)
|
self.fontfilebig = pygame.font.Font(font,60)
|
||||||
|
|
||||||
|
self.logs = []
|
||||||
|
|
||||||
self.running = True
|
self.running = True
|
||||||
self.init_inputs()
|
self.init_inputs()
|
||||||
self.gameloop = gameloop.GameLoop() # Je crée une boucle de jeu
|
self.gameloop = gameloop.GameLoop() # Je crée une boucle de jeu
|
||||||
@ -26,6 +28,37 @@ class Game():
|
|||||||
pygame.display.set_icon(self.sprite_lib["icon.png"])
|
pygame.display.set_icon(self.sprite_lib["icon.png"])
|
||||||
self.sound_lib = self.init_assets("gamedata/sounds/",pygame.mixer.Sound) # Pareil, mais pour les musiques / sons
|
self.sound_lib = self.init_assets("gamedata/sounds/",pygame.mixer.Sound) # Pareil, mais pour les musiques / sons
|
||||||
|
|
||||||
|
# Chargement des niveaux
|
||||||
|
def loadlvldata(mapfolder):
|
||||||
|
mapdico = {}
|
||||||
|
mapdico["name"] = mapfolder.split(os.sep)[-1]
|
||||||
|
mapdico["cover"] = None
|
||||||
|
mapdico["data"] = None
|
||||||
|
mapdico["tilesets"] = {}
|
||||||
|
scanner = os.scandir(path=mapfolder)
|
||||||
|
for i in scanner: # Je check tout les fichiers du dossier
|
||||||
|
name = i.name
|
||||||
|
try:
|
||||||
|
if name.endswith(".png"):
|
||||||
|
if name=="cover.png":
|
||||||
|
mapdico["cover"] = pygame.image.load(i.path)
|
||||||
|
else:
|
||||||
|
mapdico["tilesets"][i.name] = pygame.image.load(i.path)
|
||||||
|
except:
|
||||||
|
self.log("Erreur",mapfolder,name,"Fichier invalide")
|
||||||
|
if name=="map.json":
|
||||||
|
try:
|
||||||
|
with open(i.path,"r") as jsonfile:
|
||||||
|
mapdico["data"] = lib.json.loads(jsonfile.read())
|
||||||
|
except:
|
||||||
|
self.log("Erreur",mapfolder,name)
|
||||||
|
if mapdico["data"]:
|
||||||
|
return mapdico
|
||||||
|
return None
|
||||||
|
|
||||||
|
self.levels_lib = self.init_assets("gamedata/maps/",loadlvldata,recursive=False) # Je charge le dossier de maps
|
||||||
|
|
||||||
|
|
||||||
self.sound_volumes = {}
|
self.sound_volumes = {}
|
||||||
for i in self.sound_lib.keys():
|
for i in self.sound_lib.keys():
|
||||||
self.sound_volumes[i] = 1
|
self.sound_volumes[i] = 1
|
||||||
@ -57,6 +90,10 @@ class Game():
|
|||||||
def set_camera(self,posx,posy):
|
def set_camera(self,posx,posy):
|
||||||
self.globals["camerax"], self.globals["cameray"] = posx,posy
|
self.globals["camerax"], self.globals["cameray"] = posx,posy
|
||||||
|
|
||||||
|
def log(*args):
|
||||||
|
args[0].logs.append(" ".join(args[1:]))
|
||||||
|
print(" ".join(args[1:]))
|
||||||
|
|
||||||
def reinit_volumes(self):
|
def reinit_volumes(self):
|
||||||
|
|
||||||
for i in self.sound_lib.keys(): # J'applique de base les volumes
|
for i in self.sound_lib.keys(): # J'applique de base les volumes
|
||||||
@ -169,23 +206,23 @@ class Game():
|
|||||||
else:
|
else:
|
||||||
self.inputs["mouse"]["click"] = 0
|
self.inputs["mouse"]["click"] = 0
|
||||||
|
|
||||||
def init_assets(self,path,function):
|
def init_assets(self,path,function,recursive=True):
|
||||||
dico = {}
|
dico = {}
|
||||||
self.scan_dir(path,path,dico,function)
|
self.scan_dir(path,path,dico,function,recursive)
|
||||||
return dico
|
return dico
|
||||||
|
|
||||||
def scan_dir(self,dirpath,origin,dico,function):
|
def scan_dir(self,dirpath,origin,dico,function,recursive=True):
|
||||||
scanner = os.scandir(path=dirpath)
|
scanner = os.scandir(path=dirpath)
|
||||||
for i in scanner: # Je passe à travers toutes les données d'un dossier, fichiers et sous dossiers compris
|
for i in scanner: # Je passe à travers toutes les données d'un dossier, fichiers et sous dossiers compris
|
||||||
# i.path est le chemin du fichier, par exemple
|
# i.path est le chemin du fichier, par exemple
|
||||||
# Si c'est une image, je l'importe et l'ajoute à la librairie
|
# Si c'est une image, je l'importe et l'ajoute à la librairie
|
||||||
finalpath = i.path.replace("\\","/")
|
finalpath = i.path.replace("\\","/")
|
||||||
if i.is_file():
|
if i.is_file() or not recursive:
|
||||||
finalpath = finalpath.replace(origin,'') # J'enleve l'origine (dans ce cas 'assets/' car c'est redontant, tout les sprites sont dedans
|
finalpath = finalpath.replace(origin,'') # J'enleve l'origine (dans ce cas 'assets/' car c'est redontant, tout les sprites sont dedans
|
||||||
dico[finalpath] = function(i.path)
|
dico[finalpath] = function(i.path)
|
||||||
# Si c'est un dossier, je répete l'opération mais à l'intérieur de celui ci
|
# Si c'est un dossier, je répete l'opération mais à l'intérieur de celui ci
|
||||||
if i.is_dir():
|
if i.is_dir() and recursive:
|
||||||
self.scan_dir(i.path,origin,dico,function)
|
self.scan_dir(i.path,origin,dico,function,recursive)
|
||||||
scanner.close()
|
scanner.close()
|
||||||
|
|
||||||
def getSpriteDir(self,directory,ext=".png",assetdir="sprite_lib"):
|
def getSpriteDir(self,directory,ext=".png",assetdir="sprite_lib"):
|
||||||
|
BIN
gamedata/maps/TulipFields/base.png
Normal file
BIN
gamedata/maps/TulipFields/base.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 4.0 KiB |
371
gamedata/maps/TulipFields/map.json
Normal file
371
gamedata/maps/TulipFields/map.json
Normal file
@ -0,0 +1,371 @@
|
|||||||
|
{
|
||||||
|
"ogmoVersion": "3.4.0",
|
||||||
|
"width": 320,
|
||||||
|
"height": 240,
|
||||||
|
"offsetX": 0,
|
||||||
|
"offsetY": 0,
|
||||||
|
"layers": [
|
||||||
|
{
|
||||||
|
"name": "Platforms",
|
||||||
|
"_eid": "16983036",
|
||||||
|
"offsetX": 0,
|
||||||
|
"offsetY": 0,
|
||||||
|
"gridCellWidth": 16,
|
||||||
|
"gridCellHeight": 16,
|
||||||
|
"gridCellsX": 20,
|
||||||
|
"gridCellsY": 15,
|
||||||
|
"tileset": "Base",
|
||||||
|
"dataCoords2D": [
|
||||||
|
[
|
||||||
|
[-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],
|
||||||
|
[-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],
|
||||||
|
[-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],
|
||||||
|
[-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],
|
||||||
|
[-1],
|
||||||
|
[-1],
|
||||||
|
[-1],
|
||||||
|
[-1],
|
||||||
|
[-1],
|
||||||
|
[-1],
|
||||||
|
[-1],
|
||||||
|
[-1],
|
||||||
|
[-1],
|
||||||
|
[-1],
|
||||||
|
[-1],
|
||||||
|
[-1],
|
||||||
|
[-1],
|
||||||
|
[-1],
|
||||||
|
[-1],
|
||||||
|
[-1]
|
||||||
|
],
|
||||||
|
[
|
||||||
|
[-1],
|
||||||
|
[-1],
|
||||||
|
[-1],
|
||||||
|
[-1],
|
||||||
|
[-1],
|
||||||
|
[-1],
|
||||||
|
[-1],
|
||||||
|
[0, 0],
|
||||||
|
[2, 0],
|
||||||
|
[-1],
|
||||||
|
[-1],
|
||||||
|
[-1],
|
||||||
|
[-1],
|
||||||
|
[-1],
|
||||||
|
[-1],
|
||||||
|
[-1],
|
||||||
|
[-1],
|
||||||
|
[-1],
|
||||||
|
[-1],
|
||||||
|
[-1]
|
||||||
|
],
|
||||||
|
[
|
||||||
|
[-1],
|
||||||
|
[-1],
|
||||||
|
[-1],
|
||||||
|
[-1],
|
||||||
|
[-1],
|
||||||
|
[-1],
|
||||||
|
[-1],
|
||||||
|
[0, 2],
|
||||||
|
[2, 2],
|
||||||
|
[-1],
|
||||||
|
[-1],
|
||||||
|
[-1],
|
||||||
|
[-1],
|
||||||
|
[-1],
|
||||||
|
[-1],
|
||||||
|
[-1],
|
||||||
|
[-1],
|
||||||
|
[-1],
|
||||||
|
[-1],
|
||||||
|
[-1]
|
||||||
|
],
|
||||||
|
[
|
||||||
|
[-1],
|
||||||
|
[0, 0],
|
||||||
|
[1, 0],
|
||||||
|
[2, 0],
|
||||||
|
[-1],
|
||||||
|
[-1],
|
||||||
|
[-1],
|
||||||
|
[-1],
|
||||||
|
[-1],
|
||||||
|
[-1],
|
||||||
|
[-1],
|
||||||
|
[-1],
|
||||||
|
[-1],
|
||||||
|
[-1],
|
||||||
|
[-1],
|
||||||
|
[-1],
|
||||||
|
[-1],
|
||||||
|
[-1],
|
||||||
|
[-1],
|
||||||
|
[-1]
|
||||||
|
],
|
||||||
|
[
|
||||||
|
[-1],
|
||||||
|
[0, 1],
|
||||||
|
[1, 1],
|
||||||
|
[2, 1],
|
||||||
|
[-1],
|
||||||
|
[-1],
|
||||||
|
[-1],
|
||||||
|
[-1],
|
||||||
|
[-1],
|
||||||
|
[-1],
|
||||||
|
[-1],
|
||||||
|
[-1],
|
||||||
|
[0, 0],
|
||||||
|
[1, 0],
|
||||||
|
[1, 0],
|
||||||
|
[1, 0],
|
||||||
|
[2, 0],
|
||||||
|
[-1],
|
||||||
|
[-1],
|
||||||
|
[-1]
|
||||||
|
],
|
||||||
|
[
|
||||||
|
[-1],
|
||||||
|
[0, 1],
|
||||||
|
[1, 1],
|
||||||
|
[2, 1],
|
||||||
|
[-1],
|
||||||
|
[-1],
|
||||||
|
[-1],
|
||||||
|
[-1],
|
||||||
|
[-1],
|
||||||
|
[-1],
|
||||||
|
[-1],
|
||||||
|
[-1],
|
||||||
|
[5, 1],
|
||||||
|
[1, 1],
|
||||||
|
[1, 1],
|
||||||
|
[1, 1],
|
||||||
|
[2, 1],
|
||||||
|
[-1],
|
||||||
|
[-1],
|
||||||
|
[-1]
|
||||||
|
],
|
||||||
|
[
|
||||||
|
[-1],
|
||||||
|
[0, 1],
|
||||||
|
[1, 1],
|
||||||
|
[2, 1],
|
||||||
|
[-1],
|
||||||
|
[-1],
|
||||||
|
[-1],
|
||||||
|
[-1],
|
||||||
|
[-1],
|
||||||
|
[-1],
|
||||||
|
[-1],
|
||||||
|
[-1],
|
||||||
|
[5, 1],
|
||||||
|
[1, 1],
|
||||||
|
[1, 1],
|
||||||
|
[1, 1],
|
||||||
|
[2, 1],
|
||||||
|
[-1],
|
||||||
|
[-1],
|
||||||
|
[-1]
|
||||||
|
],
|
||||||
|
[
|
||||||
|
[-1],
|
||||||
|
[0, 1],
|
||||||
|
[1, 1],
|
||||||
|
[2, 1],
|
||||||
|
[-1],
|
||||||
|
[-1],
|
||||||
|
[0, 0],
|
||||||
|
[1, 0],
|
||||||
|
[1, 0],
|
||||||
|
[1, 0],
|
||||||
|
[1, 0],
|
||||||
|
[1, 0],
|
||||||
|
[5, 2],
|
||||||
|
[1, 1],
|
||||||
|
[1, 1],
|
||||||
|
[6, 0],
|
||||||
|
[7, 0],
|
||||||
|
[8, 0],
|
||||||
|
[-1],
|
||||||
|
[-1]
|
||||||
|
],
|
||||||
|
[
|
||||||
|
[-1],
|
||||||
|
[0, 1],
|
||||||
|
[1, 1],
|
||||||
|
[6, 0],
|
||||||
|
[8, 0],
|
||||||
|
[-1],
|
||||||
|
[0, 1],
|
||||||
|
[1, 1],
|
||||||
|
[1, 1],
|
||||||
|
[1, 1],
|
||||||
|
[1, 1],
|
||||||
|
[1, 1],
|
||||||
|
[1, 1],
|
||||||
|
[1, 1],
|
||||||
|
[6, 0],
|
||||||
|
[11, 2],
|
||||||
|
[7, 1],
|
||||||
|
[8, 1],
|
||||||
|
[-1],
|
||||||
|
[-1]
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"exportMode": 1,
|
||||||
|
"arrayMode": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Solids",
|
||||||
|
"_eid": "17026890",
|
||||||
|
"offsetX": 0,
|
||||||
|
"offsetY": 0,
|
||||||
|
"gridCellWidth": 16,
|
||||||
|
"gridCellHeight": 16,
|
||||||
|
"gridCellsX": 20,
|
||||||
|
"gridCellsY": 15,
|
||||||
|
"entities": [
|
||||||
|
{"name": "Solid", "id": 1, "_eid": "17026310", "x": 16, "y": 144, "width": 48, "height": 96, "originX": 0, "originY": 0},
|
||||||
|
{"name": "Solid", "id": 2, "_eid": "17026310", "x": 112, "y": 112, "width": 32, "height": 32, "originX": 0, "originY": 0},
|
||||||
|
{"name": "Solid", "id": 3, "_eid": "17026310", "x": 192, "y": 160, "width": 80, "height": 48, "originX": 0, "originY": 0},
|
||||||
|
{"name": "Solid", "id": 4, "_eid": "17026310", "x": 96, "y": 208, "width": 192, "height": 32, "originX": 0, "originY": 0},
|
||||||
|
{"name": "Solid", "id": 6, "_eid": "17026310", "x": 64, "y": 224, "width": 16, "height": 16, "originX": 0, "originY": 0}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
@ -9,9 +9,9 @@ class Player(BaseObject):
|
|||||||
super().__init__(x,y,game,self.sprite.get_width(),self.sprite.get_height())
|
super().__init__(x,y,game,self.sprite.get_width(),self.sprite.get_height())
|
||||||
|
|
||||||
tileset = game.gameloop.findname("TilesetRenderer")[0]
|
tileset = game.gameloop.findname("TilesetRenderer")[0]
|
||||||
self.grid = tileset.collisiongrid
|
self.collisionrects = tileset.rects
|
||||||
self.tilew = tileset.tilew
|
self.tilew = tileset.solidtilew
|
||||||
self.tileh = tileset.tileh
|
self.tileh = tileset.solidtileh
|
||||||
|
|
||||||
self.speed = 300
|
self.speed = 300
|
||||||
|
|
||||||
@ -20,8 +20,6 @@ class Player(BaseObject):
|
|||||||
self.jump = -600
|
self.jump = -600
|
||||||
self.vertical = self.maxgravity
|
self.vertical = self.maxgravity
|
||||||
|
|
||||||
self.collisionrects = self.getrects()
|
|
||||||
|
|
||||||
self.hrest = 0
|
self.hrest = 0
|
||||||
self.vrest = 0
|
self.vrest = 0
|
||||||
|
|
||||||
@ -48,14 +46,6 @@ class Player(BaseObject):
|
|||||||
|
|
||||||
self.move(hor*self.speed*self.game.dt,self.vertical*self.game.dt)
|
self.move(hor*self.speed*self.game.dt,self.vertical*self.game.dt)
|
||||||
|
|
||||||
def getrects(self):
|
|
||||||
result = []
|
|
||||||
for y in range(len(self.grid)):
|
|
||||||
for x in range(len(self.grid[y])):
|
|
||||||
if self.grid[y][x]>0:
|
|
||||||
result.append(self.game.pygame.Rect([x*self.tilew,y*self.tileh,self.tilew,self.tileh]))
|
|
||||||
return result
|
|
||||||
|
|
||||||
def move(self,movex,movey):
|
def move(self,movex,movey):
|
||||||
hstoped = False
|
hstoped = False
|
||||||
hor = int(movex+self.hrest)
|
hor = int(movex+self.hrest)
|
||||||
|
@ -2,30 +2,50 @@ from gamedata.objects.base import BaseObject
|
|||||||
|
|
||||||
class TilesetRenderer(BaseObject):
|
class TilesetRenderer(BaseObject):
|
||||||
|
|
||||||
def __init__(self,x,y,game):
|
def __init__(self,x,y,game,mapfoldername):
|
||||||
|
|
||||||
super().__init__(x,y,game)
|
super().__init__(x,y,game)
|
||||||
|
|
||||||
self.tilew = 64
|
self.tilew = 64
|
||||||
self.tileh = 64
|
self.tileh = 64
|
||||||
|
|
||||||
self.solid = game.sprite_lib["solid.png"]
|
self.level = game.levels_lib[mapfoldername]
|
||||||
self.empty = game.sprite_lib["empty.png"]
|
self.reinit_rects(self.level)
|
||||||
|
|
||||||
self.collisiongrid = [
|
|
||||||
[0,0,0,0,0,0,0],
|
|
||||||
[1,0,0,0,1,0,0],
|
|
||||||
[1,1,0,0,0,0,0],
|
|
||||||
[1,1,0,0,0,0,0],
|
|
||||||
[1,1,0,1,0,1,1],
|
|
||||||
[1,1,0,1,1,1,0],
|
|
||||||
]
|
|
||||||
|
|
||||||
def draw(self):
|
def draw(self):
|
||||||
|
for i in self.rects:
|
||||||
|
self.game.pygame.draw.rect(self.game.window,[255,0,0],(i[0:4]))
|
||||||
|
|
||||||
for y in range(len(self.collisiongrid)):
|
def reinit_rects(self,level):
|
||||||
for x in range(len(self.collisiongrid[y])):
|
json = level["data"]
|
||||||
|
name = level["name"]
|
||||||
|
self.rects = []
|
||||||
|
if "layers" in json.keys():
|
||||||
|
solidlayer = False
|
||||||
|
for layer in json["layers"]:
|
||||||
|
try:
|
||||||
|
if layer["name"] == "Solids" and "entities" in layer.keys() :
|
||||||
|
solidlayer = layer
|
||||||
|
break
|
||||||
|
except:
|
||||||
|
self.game.log("Erreur",name,"Les layers sont invalides")
|
||||||
|
if solidlayer:
|
||||||
|
if "gridCellWidth" in solidlayer.keys() and "gridCellHeight" in solidlayer.keys():
|
||||||
|
self.solidtilew = solidlayer["gridCellWidth"]
|
||||||
|
self.solidtileh = solidlayer["gridCellHeight"]
|
||||||
|
else:
|
||||||
|
self.solidtilew,self.solidtileh = 32,32
|
||||||
|
self.game.log("Erreur",name,"Pas de taille de tiles précisée, défaut à 32x32")
|
||||||
|
for entity in solidlayer["entities"]:
|
||||||
|
try:
|
||||||
|
x,y = entity["x"],entity["y"]
|
||||||
|
w,h = entity["width"],entity["height"]
|
||||||
|
self.rects.append(self.game.pygame.Rect(x,y,w,h))
|
||||||
|
except:
|
||||||
|
self.game.log("Erreur",name,"Propriétés invalides")
|
||||||
|
else:
|
||||||
|
self.game.log("Erreur",name,"Il manque les collisions, Entity Layer nommé Solids")
|
||||||
|
|
||||||
data = self.collisiongrid[y][x]
|
else:
|
||||||
sprites = [self.empty,self.solid]
|
self.game.log("Erreur",name,"Pas de layers")
|
||||||
self.game.window.blit(sprites[data],(self.rect[0]+x*self.tilew,self.rect[1]+y*self.tileh))
|
|
||||||
|
@ -16,7 +16,8 @@ def main(game):
|
|||||||
|
|
||||||
def fight(game):
|
def fight(game):
|
||||||
game.gameloop.reinit()
|
game.gameloop.reinit()
|
||||||
tileset = TilesetRenderer(0,0,game)
|
mapname = game.lib.choice(list(game.levels_lib.keys()))
|
||||||
|
tileset = TilesetRenderer(0,0,game,mapname)
|
||||||
game.gameloop.summon(tileset)
|
game.gameloop.summon(tileset)
|
||||||
p1 = Player(70,50,game)
|
p1 = Player(70,50,game)
|
||||||
game.gameloop.summon(p1)
|
game.gameloop.summon(p1)
|
||||||
|
Loading…
Reference in New Issue
Block a user