什么也没发生时显示fps为0

时间:2019-07-10 01:57:53

标签: python pygame frame-rate

我正在制作一个基本的平台游戏,并且在调试游戏时发现一个问题,无论何时我运行游戏,在按下键,移动鼠标或引发任何类型的事件之前,都没有任何反应(我的fps为0) 。这不只是我的fps下降,如果我做某事,我的fps通常会拍摄到100或200。

老实说,我不知道发生了什么,因为我从未遇到过这个问题。我尝试过更改驱动程序,更改显示标签,弄乱时钟,检查了文档并试图找到类似这样的问题,但无济于事。

这是我的主音

Request

这是玩家职业

// ContentController.php

  public function content_bylang($id)
  {
    $table = 'lang_'.Config::get('app.locale'); // app.locale=["en", "es", ..]
    $data = \DB::table($table)->where('id', $id)->get();

    return view('content', ['data' => $data]);
  }




我在这里缺少明显的东西吗?我的问题在其他PC上是否还能重现???老实说,我不知道。对于任何人都可以提供的任何建议,我将不胜感激。谢谢您花时间阅读我的代码并回答。

1 个答案:

答案 0 :(得分:3)

pygame.event.wait()的呼叫实际上将等待以等待事件。您需要做的(以保持运行状态)是致电pygame.event.get()

但是,get()返回自您上次调用以来发生的事件的列表,因此正确的处理方式如下:

for event in pygame.event.get():
    if event.type == pygame.QUIT or key[pygame.K_DELETE]:
        leave = True
        break # No need to carry on if you're finishing up.

    if event.type == pygame.VIDEORESIZE:
        game_offset = Vector2(Vector2(event.size) / 2 - game_resolution / 2)
        screen = pygame.display.set_mode(event.size, pygame.RESIZABLE)
    # elif other events.

# Update stuff regardless of events.

player.update(key, delta_time)
screen.fill((255, 255, 255))
player.draw(screen, game_offset)
pygame.display.flip()
clock.tick(1000)