diff --git a/Player.py b/Player.py index 4072adb..7488748 100644 --- a/Player.py +++ b/Player.py @@ -13,15 +13,28 @@ class Player(pygame.sprite.Sprite): self.imgDir = os.path.join(os.path.dirname(__file__), 'data') self.walkImages = ( - pygame.image.load(os.path.join(self.imgDir, 'player1.png')).convert(), - pygame.image.load(os.path.join(self.imgDir, 'player2.png')).convert(), - pygame.image.load(os.path.join(self.imgDir, 'player3.png')).convert(), - pygame.image.load(os.path.join(self.imgDir, 'player2.png')).convert(), + pygame.transform.scale(pygame.image.load(os.path.join(self.imgDir, 'player1.png')).convert(), (64, 98)), + pygame.transform.scale(pygame.image.load(os.path.join(self.imgDir, 'player2.png')).convert(), (64, 98)), + pygame.transform.scale(pygame.image.load(os.path.join(self.imgDir, 'player3.png')).convert(), (64, 98)), + pygame.transform.scale(pygame.image.load(os.path.join(self.imgDir, 'player2.png')).convert(), (64, 98)), ) self.currentWalkImage = 0 - for image in self.walkImages: - image.set_colorkey((255,0,255)) + self.upImages = ( + pygame.transform.scale(pygame.image.load(os.path.join(self.imgDir, 'playerUp1.png')).convert(), (64, 98)), + pygame.transform.scale(pygame.image.load(os.path.join(self.imgDir, 'playerUp2.png')).convert(), (64, 98)), + ) + self.currentUpImage = 0 + + self.downImages = ( + pygame.transform.scale(pygame.image.load(os.path.join(self.imgDir, 'playerDown1.png')).convert(), (64, 98)), + pygame.transform.scale(pygame.image.load(os.path.join(self.imgDir, 'playerDown2.png')).convert(), (64, 98)), + ) + self.currentDownImage = 0 + + for array in (self.walkImages, self.upImages, self.downImages): + for image in array: + image.set_colorkey((255,0,255)) pygame.sprite.Sprite.__init__(self) self.image = self.walkImages[self.currentWalkImage] @@ -72,14 +85,6 @@ class Player(pygame.sprite.Sprite): def update(self): - self.updateCount += 1 - if self.updateCount == 15: - self.currentWalkImage += 1 - if self.currentWalkImage >= len(self.walkImages): - self.currentWalkImage = 0 - self.image = self.walkImages[self.currentWalkImage] - self.updateCount = 0 - if not self.speed: self.rect.y += 1 if not self.isDownJump: @@ -102,7 +107,6 @@ class Player(pygame.sprite.Sprite): self.standup() if self.isJumping: -# maxHoverCount = 30 if self.gameSpeed <= 2: maxHoverCount = 30 elif self.gameSpeed <= 4: maxHoverCount = 23 elif self.gameSpeed <= 8: maxHoverCount = 16 @@ -120,3 +124,22 @@ class Player(pygame.sprite.Sprite): self.speed += 0.07 * self.gameSpeed self.rect.y += self.speed + + self.updateCount += 1 + if self.updateCount == 15: + if self.isOnFloor: + self.currentWalkImage += 1 + if self.currentWalkImage >= len(self.walkImages): + self.currentWalkImage = 0 + self.image = self.walkImages[self.currentWalkImage] + elif self.isJumping: + self.currentUpImage += 1 + if self.currentUpImage >= len(self.upImages): + self.currentUpImage = 0 + self.image = self.upImages[self.currentUpImage] + else: + self.currentDownImage += 1 + if self.currentDownImage >= len(self.downImages): + self.currentDownImage = 0 + self.image = self.downImages[self.currentDownImage] + self.updateCount = 0 diff --git a/data/player.xcf b/data/player.xcf index 57e15a1..c028cca 100644 Binary files a/data/player.xcf and b/data/player.xcf differ diff --git a/data/player1.png b/data/player1.png index d7b8b60..6feac73 100644 Binary files a/data/player1.png and b/data/player1.png differ diff --git a/data/player2.png b/data/player2.png index 65d44c5..8f72db5 100644 Binary files a/data/player2.png and b/data/player2.png differ diff --git a/data/player3.png b/data/player3.png index f53bd49..28a2d77 100644 Binary files a/data/player3.png and b/data/player3.png differ diff --git a/data/playerDown1.png b/data/playerDown1.png new file mode 100644 index 0000000..297bf6a Binary files /dev/null and b/data/playerDown1.png differ diff --git a/data/playerDown2.png b/data/playerDown2.png new file mode 100644 index 0000000..a5b372b Binary files /dev/null and b/data/playerDown2.png differ diff --git a/data/playerUp1.png b/data/playerUp1.png new file mode 100644 index 0000000..2bae6ed Binary files /dev/null and b/data/playerUp1.png differ diff --git a/data/playerUp2.png b/data/playerUp2.png new file mode 100644 index 0000000..800b7fa Binary files /dev/null and b/data/playerUp2.png differ