Flying enemy sprites
This commit is contained in:
@@ -80,6 +80,7 @@ class Drakora():
|
|||||||
|
|
||||||
self.speedUpLabelCD = 0
|
self.speedUpLabelCD = 0
|
||||||
self.nextEnemyMustBeFlying = False
|
self.nextEnemyMustBeFlying = False
|
||||||
|
|
||||||
self.enemyCD = self.getNextEnemyCD()
|
self.enemyCD = self.getNextEnemyCD()
|
||||||
|
|
||||||
self.speedUpCheatLabelCD = 0
|
self.speedUpCheatLabelCD = 0
|
||||||
|
|||||||
+31
-3
@@ -5,17 +5,33 @@ Flying enemy entity class
|
|||||||
|
|
||||||
import pygame
|
import pygame
|
||||||
import random
|
import random
|
||||||
|
import math
|
||||||
|
import os
|
||||||
|
|
||||||
from Enemy import Enemy
|
from Enemy import Enemy
|
||||||
|
|
||||||
|
|
||||||
class FlyingEnemy(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):
|
def __init__(self, mainGameClass):
|
||||||
Enemy.__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.rect = self.image.get_rect()
|
||||||
self.height -= self.rect.height/2 + 10 + 10*self.subtype
|
self.height -= self.rect.height/2 + 10 + 10*self.subtype
|
||||||
|
|
||||||
@@ -23,3 +39,15 @@ class FlyingEnemy(Enemy):
|
|||||||
self.height)
|
self.height)
|
||||||
|
|
||||||
self.speed = self.thisGame.getGameSpeed()*2
|
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
|
||||||
|
|||||||
@@ -94,7 +94,7 @@ class Player(pygame.sprite.Sprite):
|
|||||||
|
|
||||||
|
|
||||||
def update(self):
|
def update(self):
|
||||||
if not self.speed: self.rect.y += 1
|
self.updateCount += 1
|
||||||
|
|
||||||
if not self.isDownJump:
|
if not self.isDownJump:
|
||||||
self.hoverCount = 0
|
self.hoverCount = 0
|
||||||
@@ -134,8 +134,7 @@ class Player(pygame.sprite.Sprite):
|
|||||||
|
|
||||||
self.rect.y += self.speed
|
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.isOnFloor:
|
||||||
if self.isCrouching:
|
if self.isCrouching:
|
||||||
self.currentCrouchImage += 1
|
self.currentCrouchImage += 1
|
||||||
|
|||||||
Binary file not shown.
|
After Width: | Height: | Size: 282 B |
Binary file not shown.
Reference in New Issue
Block a user