<blockquote>
<p>I don't want to load the picture over and over again</p>
</blockquote>
<p>仅加载一次图像并创建多个缩放图像:</p>
<pre class="lang-py prettyprint-override"><code>image = pygame.image.load('Insel.jpg')
image1 = pygame.transform.scale(image, (200, 150))
image2 = pygame.transform.scale(image, (250, 200))
image3 = pygame.transform.scale(image, (150, 100))
</code></pre>
<p>我建议将图像存储在列表中,而不是3个单独的变量:</p>
<pre class="lang-py prettyprint-override"><code>image = pygame.image.load('Insel.jpg')
image_list = [
pygame.transform.scale(image, (200, 150))
pygame.transform.scale(image, (250, 200))
pygame.transform.scale(image, (150, 100))]
</code></pre>
<p>最后,您应该将代码放入函数中:</p>
<pre class="lang-py prettyprint-override"><code>def load_and_scale(imagename):
image = pygame.image.load(imagename)
return [
pygame.transform.scale(image, (200, 150))
pygame.transform.scale(image, (250, 200))
pygame.transform.scale(image, (150, 100))]
</code></pre>
<pre class="lang-py prettyprint-override"><code>image_list = load_and_scale('Insel.jpg')
</code></pre>
<p>使用<a href="https://docs.python.org/3/library/random.html" rel="nofollow noreferrer">^{<cd1>}</a>从列表中选择随机图像:</p>
<pre class="lang-py prettyprint-override"><code>image_list = load_and_scale('Insel.jpg')
multi_Images = []
for i in range(5):
image = random.choice(image_list)
pos = [random.randint(0, 480+1), random.randint(0, 480+1)]
multi_Images.append((image, pos))
</code></pre>
<p>可以使用循环绘制图像:</p>
<pre class="lang-py prettyprint-override"><code>for image, pos in multi_Images:
screen.blit(image, pos)
</code></pre>