diff --git a/Drakora.pyw b/Drakora.pyw index 6c8a901..fd3da15 100644 --- a/Drakora.pyw +++ b/Drakora.pyw @@ -80,6 +80,7 @@ class Drakora(): self.speedUpLabelCD = 0 self.nextEnemyMustBeFlying = False + self.enemyCD = self.getNextEnemyCD() self.speedUpCheatLabelCD = 0 diff --git a/FlyingEnemy.py b/FlyingEnemy.py index d78ae23..990ff70 100644 --- a/FlyingEnemy.py +++ b/FlyingEnemy.py @@ -5,17 +5,33 @@ Flying enemy entity class import pygame import random +import math +import os + from Enemy import Enemy class FlyingEnemy(Enemy): + imgDir = os.path.join(os.path.dirname(__file__), 'data') + senemyImage = pygame.image.load(os.path.join(imgDir, 'fenemy.png'))#.convert() + images = ( + pygame.transform.scale(senemyImage.subsurface((0, 0, 16, 8)), (64, 32)), + pygame.transform.scale(senemyImage.subsurface((16, 0, 16, 8)), (64, 32)), + pygame.transform.scale(senemyImage.subsurface((32, 0, 16, 8)), (64, 32)), + ) + for image in images: + image.set_colorkey((255,0,255)) + def __init__(self, mainGameClass): Enemy.__init__(self, mainGameClass) - self.subtype = random.randint(1, 7) + self.updateCount = 0 + self.currentImage = 0 + + self.subtype = random.randint(1, 10) + + self.image = FlyingEnemy.images[self.currentImage] - self.image = pygame.Surface((50, 25)) - self.image.fill((51, 51, 0)) self.rect = self.image.get_rect() self.height -= self.rect.height/2 + 10 + 10*self.subtype @@ -23,3 +39,15 @@ class FlyingEnemy(Enemy): self.height) self.speed = self.thisGame.getGameSpeed()*2 + + + def update(self): + super().update() + + self.updateCount += 1 + if self.updateCount >= 22 - math.log2(self.thisGame.getGameSpeed()) * 2: + self.currentImage += 1 + if self.currentImage >= len(FlyingEnemy.images): + self.currentImage = 0 + self.image = FlyingEnemy.images[self.currentImage] + self.updateCount = 0 diff --git a/Player.py b/Player.py index b096305..ee06e49 100644 --- a/Player.py +++ b/Player.py @@ -94,7 +94,7 @@ class Player(pygame.sprite.Sprite): def update(self): - if not self.speed: self.rect.y += 1 + self.updateCount += 1 if not self.isDownJump: self.hoverCount = 0 @@ -134,8 +134,7 @@ class Player(pygame.sprite.Sprite): self.rect.y += self.speed - self.updateCount += 1 - if self.updateCount == 22 - math.log2(self.gameSpeed) * 2: + if self.updateCount >= 22 - math.log2(self.gameSpeed) * 2: if self.isOnFloor: if self.isCrouching: self.currentCrouchImage += 1 diff --git a/data/fenemy.png b/data/fenemy.png new file mode 100644 index 0000000..74769f2 Binary files /dev/null and b/data/fenemy.png differ diff --git a/data/fenemy.xcf b/data/fenemy.xcf new file mode 100644 index 0000000..10fa169 Binary files /dev/null and b/data/fenemy.xcf differ