From 1b3ee0e5052ed56be509639ac39191e07339155f Mon Sep 17 00:00:00 2001 From: Ruslan Ignatov Date: Fri, 9 Jun 2023 15:57:16 +0300 Subject: [PATCH] Fixed collision hang --- Drakora.pyw | 4 +--- Player.py | 8 ++++++-- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/Drakora.pyw b/Drakora.pyw index 8693c67..5d9471a 100644 --- a/Drakora.pyw +++ b/Drakora.pyw @@ -17,7 +17,6 @@ from Cloud import Cloud from Floor import Floor from EndSceen import EndSceen - class Drakora(): def getGameSpeed(self): return self.__gameSpeed @@ -256,8 +255,7 @@ class Drakora(): if self.player.isOnFloor: while pygame.sprite.spritecollideany(self.player, self.floors): - self.player.rect.y -= 0.1 - self.player._Player__doubleY -= 0.1 + self.player.moveDown(-0.1) def doCheats(self): diff --git a/Player.py b/Player.py index 1800f5b..158df27 100644 --- a/Player.py +++ b/Player.py @@ -145,6 +145,11 @@ class Player(pygame.sprite.Sprite): def calcMaxHoverCount(self, speed): return round(-0.44 + 0.079*math.log(speed) + 49.42 * (1/math.sqrt(speed))) + + + def moveDown(self, value): + self.__doubleY += value + self.rect.y = self.__doubleY def update(self): @@ -185,8 +190,7 @@ class Player(pygame.sprite.Sprite): else: self.speed += 0.07 * gameSpeed - self.__doubleY += self.speed - self.rect.y = self.__doubleY + self.moveDown(self.speed) for collisionBox in self.collisionBoxes: collisionBox.setY(self.rect.y)