如何循环敌人的子弹以不断射击?

问题描述

所以,我可以让敌人射出 1 颗子弹,但我不能循环它。我想让敌人不断地发射子弹,但我不知道该怎么做。请帮忙。我对编程很陌生,所以可能有一些我应该知道的东西,但我不知道,所以请随时将其放在评论中。

#Enemy
enemyImg = pygame.image.load("u.png")
enemyX = random.randint(0,736)
enemyY = random.randint(50,150)
enemyX_change = 0.4
enemyY_change = 35

#Enemy Bullet
ebulletImg = pygame.image.load("EnemyBullet.png")
ebulletX = (enemyX)
ebulletY = (enemyY)
ebulletX_change = 0.4
ebulletY_change = 0.1
ebullet_state = "ready"

def fire_ebullet(x,y):
    global ebullet_state
    ebullet_state = "fire"
    screen.blit(ebulletImg,(ebulletX,ebulletY))

def reload_ebullet(x,y):
    global ebullet_state
    ebullet_state = "ready"
    screen.blit(ebulletImg,ebulletY))

我尝试使用 reload_ebullet 函数(在最后一个 if 中)尝试循环它,但没有奏效,敌人仍然发射一颗子弹

#Enemy Movement
enemyX += enemyX_change
if enemyX <=0:
    enemyX_change = 0.4
    enemyY += enemyY_change
elif enemyX >=736:
    enemyX_change = -0.4
    enemyY += enemyY_change

#Enemy Bullet Movement
if ebulletY <=0:
    ebulletY =(enemyY)
    ebullet_state = "ready"

if ebullet_state == "ready":
    fire_ebullet(ebulletX,ebulletY)
    ebulletY += ebulletY_change
    reload_ebullet(ebulletX,ebulletY)

这是代码,我放了敌人,所以你可以看到子弹是从哪里来的。我曾尝试将最后一个 if 交换到 while,但没有奏效。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)