微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

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

所以,我可以让敌人射出 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 举报,一经查实,本站将立刻删除。