Fengx1n's picture
Initial DEMO
e53fda1
from classes.Animation import Animation
from classes.Maths import Vec2D
from entities.EntityBase import EntityBase
from traits.leftrightwalk import LeftRightWalkTrait
from classes.Collider import Collider
from classes.EntityCollider import EntityCollider
class RedMushroom(EntityBase):
def __init__(self, screen, spriteColl, x, y, level, sound):
super(RedMushroom, self).__init__(y, x - 1, 1.25)
self.spriteCollection = spriteColl
self.animation = Animation(
[
self.spriteCollection.get("mushroom").image,
]
)
self.screen = screen
self.leftrightTrait = LeftRightWalkTrait(self, level)
self.type = "Mob"
self.dashboard = level.dashboard
self.collision = Collider(self, level)
self.EntityCollider = EntityCollider(self)
self.levelObj = level
self.sound = sound
def update(self, camera):
if self.alive:
self.applyGravity()
self.drawRedMushroom(camera)
self.leftrightTrait.update()
self.checkEntityCollision()
else:
self.onDead(camera)
def drawRedMushroom(self, camera):
self.screen.blit(self.animation.image, (self.rect.x + camera.x, self.rect.y))
self.animation.update()
def onDead(self, camera):
if self.timer == 0:
self.setPointsTextStartPosition(self.rect.x + 3, self.rect.y)
if self.timer < self.timeAfterDeath:
self.movePointsTextUpAndDraw(camera)
else:
self.alive = None
self.timer += 0.1
def setPointsTextStartPosition(self, x, y):
self.textPos = Vec2D(x, y)
def movePointsTextUpAndDraw(self, camera):
self.textPos.y += -0.5
self.dashboard.drawText("100", self.textPos.x + camera.x, self.textPos.y, 8)
def checkEntityCollision(self):
pass