第一次尝试用python写游戏遇到的一些问题和思考

跟着《python从入门到实践》已经有一段时间了,终于到了刺激的游戏制作环节,但是教材里的代码进度比较快,所有的代码都要慢慢熟悉

import sys
import pygame
def run_practice():
    pygame.init()
    screen = pygame.display.set_mode((1200,800))
    pygame.display.set_caption("practice project")
    while True:
        pygame.display.flip()
run_practice()

这段代码里前面几段都没多大问题,写多了大概也就也就理解了,直到

    while True:
        pygame.display.flip()

教材里说是会把之前绘制的窗口显示出来,这个时候我就挺纳闷,那为什么不把制作窗口放到循环里,就是把上两行代码换成

while True:
        screen = pygame.display.setmode((1200,800))

利用主循环就会不停地绘制出我想要的尺寸的窗口。
事实证明,我这样写同样能够显示窗口,可是过了大概三分钟我没有关闭代码的运行过程电脑就说python执行的程序正在占用大量的内存。

原来

 while True:
        pygame.display.flip()

这个代码的准确作用是擦去旧的窗口再重新显示新的窗口,就是屏幕显示的永远只有一个窗口,而

while True:
        screen = pygame.display.setmode((1200,800))

会不同绘制出新的窗口,旧的窗口电脑还依旧保存着,所以运行的时候会出现内存不足的状况。

猜你喜欢

转载自blog.csdn.net/weixin_43580807/article/details/87873394