问题描述
所以,我可以让敌人射出 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 (将#修改为@)