Pygame: Как избавиться от задержки прыжка, когда враг делает анимацию атаки + как сделать это, так что только один тип вPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Pygame: Как избавиться от задержки прыжка, когда враг делает анимацию атаки + как сделать это, так что только один тип в

Сообщение Anonymous »

Я создаю свою первую игру, используя Pygame, и я сталкиваюсь с проблемой, когда, когда мой враг прыгает после анимации атаки, а не одновременно. Я пытаюсь сделать так, чтобы не-синий враг прыгал одновременно с анимацией атаки. В настоящее время персонаж прыгает, а затем делает анимацию. Однако я думаю, что я реализовал гравитацию неправильно, потому что после первого прыжка он снова прыгает, но стреляет в небо ...
Я также сталкиваюсь с проблемой, когда я пытаюсь иметь только один тип врага, способный прыгать, но оба затронуты, даже если я указал только не синие эмоции, чтобы прыгнуть. ​​ . Loop, но это разбило игру, я также попытался сделать гравитацию -= 5 , который избавляется от второго прыжка с стрельбой, но теперь они не прыгают достаточно высоко.class Opps(pygame.sprite.Sprite):

def __init__(self, type):

super().__init__()

if type == 'blue':
b_idle = pygame.image.load('/tiny embers jam/graphics/opps/blue/b_idle.png').convert_alpha()
b_bounce = pygame.image.load('/tiny embers jam/graphics/opps/blue/b_bounce.png').convert_alpha()
self.frames = [b_idle,b_bounce,b_idle,b_bounce]
self.kick = pygame.image.load('/tiny embers jam/graphics/opps/blue/b_kick.png').convert_alpha()
else:
p_idle = pygame.image.load('/tiny embers jam/graphics/opps/pink/p_idle.png').convert_alpha()
p_bounce = pygame.image.load('/tiny embers jam/graphics/opps/pink/p_bounce.png').convert_alpha()
self.frames = [p_idle,p_bounce,p_idle,p_bounce]
self.kick = pygame.image.load('/tiny embers jam/graphics/opps/pink/p_jump.png').convert_alpha()

self.gravity = 0
self.y_pos = 280
self.animation_index = 0
self.frames.append(self.kick)
self.image = self.frames[self.animation_index]
self.rect = self.image.get_rect(midbottom = (randint(660,900),self.y_pos))

def apply_gravity(self):
self.gravity += 1
self.rect.y += self.gravity
if self.rect.bottom >= 280:
self.rect.bottom = 280

def animation_state(self):
self.animation_index += 0.1
if self.animation_index >= len(self.frames): self.animation_index = 0
self.image = self.frames[int(self.animation_index)]

if type != 'blue':
if self.image == self.kick:
self.gravity -= 6


Подробнее здесь: https://stackoverflow.com/questions/796 ... ack-animat
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»