【问题标题】:Continuing an inner loop while outer loop conditions still apply (python)在外部循环条件仍然适用的情况下继续内部循环(python)
【发布时间】: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


【解决方案1】:

我认为内部循环应该改变。每当您按空格键时,您都应该将项目符号添加到列表中,并在列表中的主循环移动点的每次(或每几次)迭代中添加。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-16
    • 1970-01-01
    • 2017-04-10
    相关资源
    最近更新 更多