Ajout de gravité

This commit is contained in:
theo@manjaro 2021-06-25 18:57:40 +02:00
parent 8a75f09575
commit 6bc7d96db3
2 changed files with 25 additions and 3 deletions

View File

@ -13,11 +13,33 @@ class Player(BaseObject):
self.tilew = tileset.tilew
self.tileh = tileset.tileh
self.speed = 300
self.gravity = 200
def step(self):
keys = self.game.inputs["keys"]
hor=keys["right"]["pressed"]-keys["left"]["pressed"]
ver=keys["down"]["pressed"]-keys["up"]["pressed"]
self.move(hor*300*self.game.dt,ver*300*self.game.dt)
# Check if on ground
self.onground = False
targetpos = self.getgridpos(0,1)
pos = [targetpos["dl"],targetpos["dr"]]
for x in range(pos[0]["x"],pos[1]["x"]+1):
if pos[0]["y"]>=0 and pos[0]["y"]<len(self.grid):
if x>=0 and x<len(self.grid[pos[0]["y"]]):
if self.grid[pos[0]["y"]][x]==1:
self.onground = True
break
print(self.onground)
if not self.onground:
ver = self.gravity
else:
ver = 0
self.move(hor*self.speed*self.game.dt,ver*self.game.dt)
def getgridpos(self,modx=0,mody=0):
result = {}

View File

@ -17,7 +17,7 @@ class TilesetRenderer(BaseObject):
[1,0,0,0,1,0,0],
[1,1,0,0,0,0,0],
[1,1,0,0,0,0,0],
[1,1,0,0,0,1,1],
[1,1,0,1,0,1,1],
[1,1,0,1,1,1,0],
]