擅长:python、mysql、java
<p>不要使用整数来存储位置。使用<a href="http://pygame.org/docs/ref/rect.html#pygame.Rect" rel="nofollow">^{<cd1>}</a></p>
<p>所以不是</p>
<pre><code>x_blocky = 50
y_blocky = 750
</code></pre>
<p>使用</p>
<pre><code>blocky_pos = pygame.rect.Rect(50, 750)
</code></pre>
<hr/>
<p>现在您可以简单地使用</p>
<pre><code>blocky_pos.move_ip(blocky_x_move, blocky_y_move)
</code></pre>
<p>到<a href="http://pygame.org/docs/ref/rect.html#pygame.Rect.move" rel="nofollow">move</a>您的对象</p>
<p>移动后,您只需调用<a href="http://pygame.org/docs/ref/rect.html#pygame.Rect.clamp" rel="nofollow">^{<cd2>}/^{<cd3>}</a>即可确保<code>blocky_pos</code>{<cd1>}始终在屏幕内</p>
<pre><code>blocky_pos.clamp_ip(screen.get_rect())
</code></pre>
<hr/>
<p>此外,您不需要自己定义基本颜色,您可以简单地使用<code>pygame.color.Color('Red')</code>例如</p>
<p>我还建议您使用<code>pygame.key.get_pressed()</code>获取所有按下的键,以查看如何移动对象,而不是创建1000行事件处理代码</p>