Pygame滚动背景滞后

时间:2012-02-05 21:09:57

标签: python background python-3.x pygame lag

在pygame中我希望有一个滚动背景,以便玩家可以在大范围内移动,我已经相当容易地完成了这个操作,但游戏运行速度非常慢。

我的一些代码:http://pastebin.com/1EzDV7mc

我做得怎么样? 我怎样才能让它跑得更快?

2 个答案:

答案 0 :(得分:2)

请参阅A Newbie Guide to PyGame

特别是:

  1. 使用surface.convert()

  2. 理想情况下使用脏矩形动画,仅更新已更改的屏幕部分,而不是整个视图。也就是说我之前使用过PyGame的整个屏幕更新(这是你需要为整个屏幕不断滚动的游戏所做的事情),而且只要你没有太多,它在现代计算机上并没有那么糟糕对象

  3. 该指南中未提及:

    1. 你的目标是60fps with clock.tick(60),目标更低,30fps很好,并且不会给CPU带来太多麻烦

    2. 如果您需要进行全屏更新以进行滚动,则a)不要使用多个对象或b)停止使用PyGame并切换到OpenGL

    3. 为什么你使用他们的中点而不是他们的左上角点击图像?一个错误?

    4. 将大小属性存储为单独的宽度和高度属性更常见,而不是作为必须索引的列表。这使您的代码更加清晰。

答案 1 :(得分:0)

除了junichiro所说的,我确实找到了一个网站,提供他所说的信息加上一些。

https://www.pygame.org/docs/tut/newbieguide.html

我没有称你为新手,即使我从这个网站上学到了很多东西,而且我已经使用pygame 6年了。

此外,surface.convert()仅适用于非透明图像。使用surface.convert_alpha(),它可以处理所有事情。我通常创建一个函数,所以每次我想加载图像时都不必输入整个函数。随意使用以下2行代码:

<table id='scholarship' style='float:left;' align='center'>
  <th colspan='2'>
    <h3>University of Michigan--Dearborn</h3>
    <h5>MI, Public</h5>
    <h5>Competitive</h5></th>
  <tr>
    <td style='text-align:center;'>
      <h3>$11,524 in-state $23,866 out-of-state</h3>
      <br>
      <h5>Tuition</h5></td>
    <td style='text-align:center;'>
      <h3>63.60%</h3>
      <br>
      <h5>Acceptance Rate</h5></td>
  </tr>
  <tr>
    <td>Scholarship Annual Amount: Full Tuition</td>
    <td>Eligibility: In-state</td>
  </tr>
  <tr>
    <td colspan='2' style='text-align:center;'>
      <h3>Required Test Scores</h3></td>
  </tr>
  <tr>
    <td>SAT: 970 CR+M</td>
  </tr>
  <tr>
    <td>ACT: 21</td>
  </tr>
  <tr>
    <td>GPA: 3</td>
  </tr>
  <tr>
    <td colspan='2'>Mid 50% SAT Score: SAT Math 498-660 SAT Critical Reading not reported SAT Writing 470-600 </td>
  </tr>
  <tr>
    <td colspan='2'>Mid 50% ACT Score: 22-27 </td>
  </tr>
  <tr>
    <td colspan='2'>Is this Scholarship Available for International Students? .</td>
  </tr>
  <tr>
    <td colspan='2'>US News Ranking: not on the list</td>
  </tr>
  <tr>
    <td colspan='2'>Forbes Ranking: #437 Best Colleges</td>
  </tr>
  <tr>
    <td colspan='2'>Money Ranking: </td>
  </tr>
  <tr>
    <td colspan='2' style='text-align:center;'><a href='http://umdearborn.edu/fa_morefreshmanscholarships' target='_blank'>Click Here to Visit Site</a></td>
  </tr>
  <tr>
    <td colspan='2'>
      <input type='checkbox' value='ARLUJ' name='cell[]'>Check the Box to Save</td>
  </tr>
  <tr>
    <td colspan='2' style='text-align:center;'>Scholarship Details</td>
  </tr>
  <tr>
    <td colspan='2'>Detroit Compact Scholarship awards renewable full-tuition scholarships to qualified students from the Detroit Compact High Schools. Students are selected to participate in this program by school administrators. Students are required to have a recalculated GPA of 3.0 and a minimum composite ACT of 21 or SAT combined score of 970.</td>
  </tr>
</table>

这使我的游戏fps从18 fps增加到30 fps。

祝你好运!