Ajout de gravité
This commit is contained in:
parent
8a75f09575
commit
6bc7d96db3
@ -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 = {}
|
||||
|
@ -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],
|
||||
]
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user