1
Fork 0

added movement to player (wad)

This commit is contained in:
Andy Killorin 2021-01-14 08:26:47 -06:00
parent ffa0539962
commit 723bf79791
No known key found for this signature in database
GPG key ID: 549CE32BAC1E3D4B

View file

@ -17,8 +17,8 @@ class Camera(object):
return (pos[0]-self.x,pos[1]-self.y) return (pos[0]-self.x,pos[1]-self.y)
def outOfBounds(self, pos): def outOfBounds(self, pos):
if (pos[0] > self.w-self.x or pos[0] < 0-self.x if (pos[0]-self.y >self.h or pos[0]-self.y < 0
or pos[1] > self.h-self.y or pos[1] < 0-self.y): or pos[1]-self.x >self.w or pos[1]-self.x < 0):
return True return True
else: else:
return False return False
@ -102,7 +102,7 @@ class RainDrop(Thing):
self._startTime = pygame.time.get_ticks() self._startTime = pygame.time.get_ticks()
self.destroy = False self.destroy = False
self._game._space.add(self._body,self._poly) self._game._space.add(self._body,self._poly)
self.setPos(random.randint(0,self._game.windowSize[0]),0) self._body.position = self._game.camera.translate((random.randint(0,self._game.windowSize[0]),0))
self._body.apply_force_at_local_point((0,self._game._space.gravity[1]*1)) self._body.apply_force_at_local_point((0,self._game._space.gravity[1]*1))
self._poly.collision_type = 4 self._poly.collision_type = 4
def update(self): def update(self):
@ -179,16 +179,23 @@ class Player(Circle):
implements the player that can move and jump implements the player that can move and jump
""" """
def __init__(self, game): def __init__(self, game):
super().__init__(game, 20, (255,0,0,1)) super().__init__(game, 13, (255,0,0,1))
self.setPos(random.randint(0,self._game.windowSize[0]),0) self.setPos(random.randint(0,self._game.windowSize[0]),0)
self._poly.collision_type = 3 self._poly.collision_type = 3
self.moveRight = False
self.moveLeft = False
def moveLeft(self):
pass
def moveRight(self):
pass
def jump(self): def jump(self):
pass self._body.apply_force_at_local_point((0,-15000))
print('jump')
def draw(self):
super().draw()
if self.moveLeft:
self._body.apply_force_at_local_point((-200,0))
if self.moveRight:
self._body.apply_force_at_local_point((200,0))
class Mouse(Thing): class Mouse(Thing):
""" """
@ -205,7 +212,7 @@ class Mouse(Thing):
mouse = pygame.mouse.get_pos() mouse = pygame.mouse.get_pos()
print(mouse) print(mouse)
self.setPos(mouse[0],mouse[1]) self.setPos(mouse[0],mouse[1])
pygame.draw.circle(self._game._screen,(0,0,0,1),self._body.position,60) pygame.draw.circle(self._game._screen,(0,0,0,1),self._body.position,6)
class RiseToFall(object): class RiseToFall(object):
""" """
@ -215,7 +222,7 @@ class RiseToFall(object):
def __init__(self) -> None: def __init__(self) -> None:
# create space # create space
self._space = pymunk.Space() self._space = pymunk.Space()
self._space.gravity = 0,100 self._space.gravity = 0,300
self.windowSize = (400,600) self.windowSize = (400,600)
# initialize pygame # initialize pygame
@ -235,10 +242,12 @@ class RiseToFall(object):
self._shapes.append(box) self._shapes.append(box)
# font = pygame.font.SysFont("Arial",16) # font = pygame.font.SysFont("Arial",16)
self.rain = Rain(self)
self.camera = Camera(w=self.windowSize[0],h=self.windowSize[1]) self.camera = Camera(w=self.windowSize[0],h=self.windowSize[1])
self.rain = Rain(self)
self._shapes.append(Mouse(self)) self._shapes.append(Mouse(self))
self.player = Player(self) self.player = Player(self)
@ -273,14 +282,14 @@ class RiseToFall(object):
self._shapes.append(shape) self._shapes.append(shape)
self._space.gravity = (self._space.gravity[0]*-1,self._space.gravity[1]*-1) self._space.gravity = (self._space.gravity[0]*-1,self._space.gravity[1]*-1)
self.rain.raining = not self.rain.raining self.rain.raining = not self.rain.raining
if event.type == pygame.KEYDOWN and event.key == pygame.K_w:
player = Player(self)
self._shapes.append(player)
self.camera.track(player)
if event.type == pygame.KEYDOWN and event.key == pygame.K_a and self.player: if event.type == pygame.KEYDOWN and event.key == pygame.K_a and self.player:
self.player.moveLeft() self.player.moveLeft = True
if event.type == pygame.KEYDOWN and event.key == pygame.K_d and self.player: if event.type == pygame.KEYDOWN and event.key == pygame.K_d and self.player:
self.player.moveRight() self.player.moveRight = True
if event.type == pygame.KEYUP and event.key == pygame.K_a and self.player:
self.player.moveLeft = False
if event.type == pygame.KEYUP and event.key == pygame.K_d and self.player:
self.player.moveRight = False
if event.type == pygame.KEYDOWN and event.key == pygame.K_w and self.player: if event.type == pygame.KEYDOWN and event.key == pygame.K_w and self.player:
self.player.jump() self.player.jump()
if event.type == pygame.VIDEORESIZE: if event.type == pygame.VIDEORESIZE: