注册 登录
编程论坛 Python论坛

加了while True,pygame窗口仍一闪而过

往生 发布于 2023-01-12 13:10, 895 次点击
我是一个python小白
我用64位Windows10,python3.8.8,pygame2.1.2
我输入了下面的代码
import pygame,sys
class AlienInvation:
    def __init__(self):
        pygame.init()
        self.screen=pygame.display.set_mode((1200,800))
        pygame.display.set_caption("AlienInvation")


    def run_game(self):
                       while True:
        for event in pygame.event.get():
            if event.type==pygame.QUIT:
                sys.exit()
        pygame.display.flip()        



if __name__=='__main__':
    ai=AlienInvation()
    ai.run_game


结果虽然没有报错,但pygame窗口只是一闪而过


我试过将if event.type==pygame.QUIT:
     sys.exit()
改为print(event)
但结果窗口仍一闪而过
且终端没有打印出任何事件


将pygame.display.flip()改为pygame.display.update()也不行
求大佬帮助!!!
7 回复
#2
wp2319572023-01-13 08:44
回复 楼主 往生
ai.run_game()    这里缺失括号
#3
往生2023-01-13 09:58
回复 2楼 wp231957
谢谢大佬!!!
谢谢大佬!!!
谢谢大佬!!!
#4
往生2023-01-13 10:14
回复 2楼 wp231957
麻烦再问一下原理
谢谢
#5
wp2319572023-01-13 10:20
回复 4楼 往生
run_game  其本质就是一个函数   是函数 再调用时  就要加括号的  即使它没有参数
举个例子:

>>> print
<built-in function print>
>>> print("上面的没有括号,只是返回了一个地址")
上面的没有括号,只是返回了一个地址
>>> a=print
>>> a
<built-in function print>
>>> a("看看这个能看懂不")
看看这个能看懂不
>>>
#6
往生2023-01-13 10:33
回复 5楼 wp231957
那为什么tkinter创建按钮的返回时
button=tkinter.Tk
button(window,text=“”,command=函数)
这里的函数不加()
#7
wp2319572023-01-13 10:41
回复 6楼 往生
很明显,command后面需要的是一个函数指针
#8
往生2023-01-13 10:43
回复 7楼 wp231957
明白了
谢谢
1