def __init__(self, x, y): sprite.Sprite.__init__(self) # ____________________-DEMONS FEATURES-___________________________ self.health_points = 170 self.max_hp = self.health_points self.damage = 100 # ____________________-DEMONS FEATURES-___________________________ self.xvel = 0 # скорость перемещения. 0 - стоять на месте self.startX = x # Начальная позиция Х, пригодится когда будем переигрывать уровень self.startY = y self.POSITION_RIGHT = True self.yvel = 0 # скорость вертикального перемещения self.onGround = False # На земле ли я? self.image = Surface((WIDTH + 10, HEIGHT + 40)) self.image.fill(Color(COLOR)) self.rect = Rect(x, y, WIDTH, HEIGHT + 25) # прямоугольный объект self.image.set_colorkey(Color(COLOR)) # делаем фон прозрачным # Анимация движения вправо self.image_hp = Surface((40, 10)) self.image_hp.fill(Color(COLOR)) self.image_hp.set_colorkey(Color(COLOR)) # делаем фон прозрачным boltAnim = [] for anim in IDLE: boltAnim.append((anim, ANIMATION_DELAY)) self.boltIdle = pyganim.PygAnimation(boltAnim) self.boltIdle.play() boltAnim = [] for anim in HIT: boltAnim.append((anim, ANIMATION_DELAY)) self.boltHit = pyganim.PygAnimation(boltAnim) self.boltHit.play() boltAnim = [] for anim in ATTACK_LEFT: boltAnim.append((anim, ANIMATION_DELAY)) self.boltAttackLeft = pyganim.PygAnimation(boltAnim, loop=False) self.boltAttackLeft.play() boltAnim = [] for anim in ATTACK_RIGHT: boltAnim.append((anim, ANIMATION_DELAY)) self.boltAttackRight = pyganim.PygAnimation(boltAnim, loop=False) self.boltAttackRight.play() self.total_damage = 0 self.attack_time = self.boltAttackLeft.startTimes[ -1] # Брать из метода _startTimes текущей анимаци self.attack_flag = False self._isdo = True
def __init__(self, x, y): sprite.Sprite.__init__(self) self.xvel = 0 # скорость перемещения. 0 - стоять на месте self.startX = x # Начальная позиция Х, пригодится когда будем переигрывать уровень self.startY = y self.POSITION_RIGHT = False self.yvel = 0 # скорость вертикального перемещения self.onGround = False # На земле ли я? self.image = Surface((WIDTH + 40, HEIGHT + 15)) self.image.fill(Color(COLOR)) self.rect = Rect(x, y, WIDTH, HEIGHT + 15) # прямоугольный объект self.image.set_colorkey(Color(COLOR)) # делаем фон прозрачным # Анимация движения вправо boltAnim = [] for anim in RUN: boltAnim.append((anim, ANIMATION_DELAY)) self.boltRun = pyganim.PygAnimation(boltAnim) self.boltRun.play() boltAnim = [] for anim in IDLE_RIGHT: boltAnim.append((anim, ANIMATION_DELAY)) self.boltIdleRight = pyganim.PygAnimation(boltAnim) self.boltIdleRight.play() boltAnim = [] for anim in IDLE_LEFT: boltAnim.append((anim, ANIMATION_DELAY)) self.boltIdleLeft = pyganim.PygAnimation(boltAnim) self.boltIdleLeft.play() boltAnim = [] for anim in HIT: boltAnim.append((anim, ANIMATION_DELAY)) self.boltHit = pyganim.PygAnimation(boltAnim) self.boltHit.play() boltAnim = [] for anim in ATTACK: boltAnim.append((anim, ANIMATION_DELAY)) self.boltAttack = pyganim.PygAnimation(boltAnim) self.boltAttack.play()
def __init__(self, x, y, hero_hp=250): # ____________________________-HERO FEATURES-______________________________ self.MOVE_SPEED = 4 self.JUMP_POWER = 9 self.GRAVITY = 0.45 # Сила, которая будет тянуть нас вниз self.now_health_points = hero_hp self.max_health_points = 250 # ____________________________-HERO FEATURES-______________________________ self.WIDTH = 28 self.HEIGHT = 48 self.ANIMATION_DELAY = 0.1 # скорость смены кадров self.ANIMATION_DELAY_ATTACK = 0.09 # скорость смены кадров self.ANIMATION_DELAY_JUMP = 0.15 # скорость смены кадров прыжков self.ANIMATION_DELAY_CROUCH = 0.1 self.ANIMATION_DELAY_DIE = 0.35 # _________________________________-FLAG-_________________________________ self.POSITION_RIGHT = True self.onGround = False # На земле ли я? self.flag_attack = False self.attack_damage = 100 self.atack_now = 0.00 self.is_damage = True self.on_attack = False self.flag_ability = True # _________________________________-FLAG-_________________________________ sprite.Sprite.__init__(self) self.x = x self.y = y self.xvel = 0 # скорость перемещения. 0 - стоять на месте self.startX = x # Начальная позиция Х, пригодится когда будем переигрывать уровень self.startY = y self.yvel = 0 # скорость вертикального перемещения self.image1 = Surface((self.WIDTH + 50, self.HEIGHT)) self.image1.fill(Color(COLOR)) self.image = Surface((self.WIDTH + 50, self.HEIGHT)) self.image.fill(Color(COLOR)) self.return_update = 0 self.rect = Rect(x, y - 10, self.WIDTH, self.HEIGHT) # прямоугольный объект self.image1.set_colorkey(Color(COLOR)) # делаем фон прозрачным self.image.set_colorkey(Color(COLOR)) # делаем фон прозрачным # Анимация движения вправо boltAnim = [] for anim in RUN_RIGHT: boltAnim.append((anim, self.ANIMATION_DELAY)) self.boltRunRight = pyganim.PygAnimation(boltAnim) self.boltRunRight.play() boltAnim = [] for anim in RUN_LEFT: boltAnim.append((anim, self.ANIMATION_DELAY)) self.boltRunLeft = pyganim.PygAnimation(boltAnim) self.boltRunLeft.play() boltAnim = [] for anim in IDLE_RIGHT: boltAnim.append((anim, self.ANIMATION_DELAY)) self.boltIdleRight = pyganim.PygAnimation(boltAnim) self.boltIdleRight.play() boltAnim = [] for anim in IDLE_LEFT: boltAnim.append((anim, self.ANIMATION_DELAY)) self.boltIdleLeft = pyganim.PygAnimation(boltAnim) self.boltIdleLeft.play() boltAnim = [] for anim in JUMP_RIGHT: boltAnim.append((anim, self.ANIMATION_DELAY_JUMP)) self.boltJumpRight = pyganim.PygAnimation(boltAnim) self.boltJumpRight.play() boltAnim = [] for anim in JUMP_LEFT: boltAnim.append((anim, self.ANIMATION_DELAY_JUMP)) self.boltJumpLeft = pyganim.PygAnimation(boltAnim) self.boltJumpLeft.play() boltAnim = [] for anim in ATTACK_HEW_RIGHT: boltAnim.append((anim, self.ANIMATION_DELAY_ATTACK)) self.boltAttackHewRight = pyganim.PygAnimation(boltAnim, loop=False) boltAnim = [] for anim in ATTACK_HEW_LEFT: boltAnim.append((anim, self.ANIMATION_DELAY_ATTACK)) self.boltAttackHewLeft = pyganim.PygAnimation(boltAnim, loop=False) boltAnim = [] for anim in ATTACK_PRICK_RIGHT: boltAnim.append((anim, self.ANIMATION_DELAY_ATTACK)) self.boltAttackPrickRight = pyganim.PygAnimation(boltAnim, loop=False) boltAnim = [] for anim in ATTACK_PRICK_LEFT: boltAnim.append((anim, self.ANIMATION_DELAY_ATTACK)) self.boltAttackPrickLeft = pyganim.PygAnimation(boltAnim, loop=False) boltAnim = [] for anim in ATTACK_SLASH_RIGHT: boltAnim.append((anim, self.ANIMATION_DELAY_ATTACK)) self.boltAttaclSlashRight = pyganim.PygAnimation(boltAnim, loop=False) boltAnim = [] for anim in ATTACK_SLASH_LEFT: boltAnim.append((anim, self.ANIMATION_DELAY_ATTACK)) self.boltAttackSlashLeft = pyganim.PygAnimation(boltAnim, loop=False) boltAnim = [] for anim in DEATH_RIGHT: boltAnim.append((anim, self.ANIMATION_DELAY_DIE)) self.boltDieRight = pyganim.PygAnimation(boltAnim, loop=False) boltAnim = [] for anim in DEATH_LEFT: boltAnim.append((anim, self.ANIMATION_DELAY_DIE)) self.boltDieLeft = pyganim.PygAnimation(boltAnim, loop=False)