擅长:python、mysql、java
<p>代码的问题是函数在<code>return key_score</code>行退出,并跳过之后的两行。关键字<code>return</code>总是在第一次遇到时终止函数。在</p>
<p>您只需稍微更改代码:</p>
<pre><code>def key_collect():
global key_score
global score_rect
k_rect = pygame.draw.rect(SURF, (0,0,0), (k_spritex, k_spritey, 30, 40), 1)
p_score_rect = pygame.draw.rect(SURF, (0,0,0), (p_spritex, p_spritey, 30, 40), 1)
if p_score_rect.colliderect(k_rect):
if score_rect == True:
key_score = key_score + 100
score_rect = False
return key_score, score_rect
else:
score_rect = True
return key_score, score_rect
</code></pre>
<p>这里假设您希望返回<code>key_score</code>和{<cd4>}变量。既然它们都是全球性的,那就不需要了。在</p>