Added new movement

This commit is contained in:
Christian
2024-08-09 15:34:50 +02:00
parent c29ed8af33
commit 0436abb866
2 changed files with 38 additions and 18 deletions

View File

@@ -12,6 +12,8 @@ class GameObject(object):
self.rect:pygame.Rect self.rect:pygame.Rect
self.objects.append(self) self.objects.append(self)
self.keymap = {"up":False, "down":False, "left":False, "right":False}
def get_objectinfo(self): def get_objectinfo(self):
print(F"Gameobject-Info: \n", print(F"Gameobject-Info: \n",
F"Name: {self.name}\n", F"Name: {self.name}\n",
@@ -41,22 +43,25 @@ class Player(GameObject):
self.screen = screen self.screen = screen
def handle_input(self, event:pygame.event.EventType): def handle_input(self, event:pygame.event.EventType):
keys =pygame.key.get_pressed()
if(event.type == pygame.KEYDOWN):
print(event) if(event.type == pygame.KEYDOWN and event.key == pygame.K_LEFT):
if(keys[pygame.K_LEFT]): self.keymap["left"] = True
self.move(-self._speed)
if(keys[pygame.K_RIGHT]): elif(event.type == pygame.KEYUP and event.key == pygame.K_LEFT):
self.move(self._speed) self.keymap["left"] = False
#Deaktiviert, vorerst soll Bewegung nur rechts oder links möglich sein
#if(event.key == pygame.K_UP):
# self.move(0, -self._speed) if(event.type == pygame.KEYDOWN and event.key == pygame.K_RIGHT):
#if(event.key == pygame.K_DOWN): self.keymap["right"] = True
# self.move(0, self._speed)
if(event.key == pygame.K_SPACE): elif(event.type == pygame.KEYUP and event.key == pygame.K_RIGHT):
#Fiiirrreee in the hole self.keymap["right"] = False
print("Feuer!")
self.fire(self.screen) if(event.type == pygame.KEYDOWN and event.key == pygame.K_SPACE):
#Fiiirrreee in the hole
print("Feuer!")
self.fire(self.screen)
def move(self, x=0, y=0): def move(self, x=0, y=0):
if x != 0: if x != 0:
@@ -64,6 +69,13 @@ class Player(GameObject):
if y != 0: if y != 0:
self.pos_y += y self.pos_y += y
def move(self, direction):
if(direction == "left"):
self.pos_x -= self._speed
if(direction == "right"):
self.pos_x += self._speed
def fire(self, screen): def fire(self, screen):
shot = Projectile(self.name, self.pos_x+(self.width/2),self.pos_y-self.height,5,10, screen) shot = Projectile(self.name, self.pos_x+(self.width/2),self.pos_y-self.height,5,10, screen)
@@ -78,7 +90,8 @@ class Player(GameObject):
#print("Playerschuss!") #print("Playerschuss!")
if(key == "Enemy"): if(key == "Enemy"):
print(object.pos_x, " ", object.pos_y) #print(object.pos_x, " ", object.pos_y)
pass
@@ -122,6 +135,7 @@ class Projectile(GameObject):
if(direction == "DOWN"): if(direction == "DOWN"):
self.pos_y += self.speed self.pos_y += self.speed
if(self.pos_y >= self.screen.get_size()[1]): if(self.pos_y >= self.screen.get_size()[1]):
print() pass
#print()

View File

@@ -35,6 +35,12 @@ while(gamestate):
gamestate = False gamestate = False
player.handle_input(event) player.handle_input(event)
if(player.keymap["left"] == True):
player.move("left")
print("links")
if(player.keymap["right"] == True):
player.move("right")
print("rechts")
image = screen.blit(testimage, (pos_x, pos_y)) image = screen.blit(testimage, (pos_x, pos_y))