擅长:python、mysql、java
<p>出现错误的原因是不同的事件具有不同的属性。{a1}您可以在^ a1事件中检查哪些属性。在</p>
<p>让我们以两种类型的事件为例:</p>
<ol>
<li>退出事件类型没有属性。在</li>
<li>KEYDOWN事件类型具有属性<em>unicode</em>、<em>key</em>和<em>mod</em>。在</li>
</ol>
<p>这意味着我们不能检查事件中的<em>键</em>属性,除非我们确定事件是<code>KEYDOWN</code>(或<code>KEYUP</code>)类型。在</p>
<p>在您的代码中,您有:</p>
<pre><code>for event in pygame.event.get():
if event.type == pygame.KEYDOWN:
if event.key == pygame.K_LEFT:
xone_change = -5
elif event.key == pygame.K_RIGHT:
xone_change = 5
</code></pre>
<p>如果事件类型不是<code>KEYDOWN</code>,那么您正在检查事件的<em>key</em>属性,如果事件的类型是<code>QUIT</code>,<code>MOUSEBUTTONDOWN</code>或任何其他不是{<cd1>}或{<cd2>}的事件,则会引发属性错误。在</p>
<p>为了纠正这一点,您将按照MooingRawr的回答进行操作,并确保在第一个if语句中缩进了最后两行。我只是想知道为什么错了。在</p>