【发布时间】:2018-12-15 10:02:45
【问题描述】:
我正在尝试制作一个类似太空入侵者的游戏,您可以在其中左右移动宇宙飞船并发射子弹。
但是每当我为子弹设置动画时,宇宙飞船就无法移动,我也无法发射另一颗子弹。
我正在使用一个叫做 pygame_functions 的东西,这是我一直在尝试的:
while True:
if keyPressed("space"):
###shoots fireball###
while i >= 100:
moveSprite(fireball, x,y)
y=y-3
elif KeyPressed ("a"):
###moves right###
elif KeyPressed ("d"):
###moves left###
有没有办法在我的外循环仍然适用时继续我的内循环?
【问题讨论】:
-
您可能需要使用多个线程,以便动画与其他活动同时发生。
-
好的,谢谢!我会调查的
-
或者,您可以使用一个大的(复杂的)循环来检查移动所有内容。您在此版本中遇到的主要问题是内循环“嵌套”在外循环中。外循环停止并等待内循环完成。一种解释方式就像是一个送货司机拿着一辆装满包裹的卡车。每一站都是一个内循环,司机下车、敲门、离开包裹、上车等。然后外循环是卡车从一个站到另一个站的移动。
标签: python loops while-loop pygame