仙女劫 发表于 2021-3-31 20:52

python的pygame创建一个窗口一直不出来

本帖最后由 仙女劫 于 2021-3-31 21:53 编辑

import sys
import pygame


class AlienInvasion:

    def __init__(self):
      pygame.init()
      self.screen = pygame.display.set_mode((1200, 800))
#      self.screen = pygame.display.set_mode((self.settings.screen_width, self.settings.screen_height))
      pygame.display.set_caption("Alien Invasion")

    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 = AlienInvasion()
    ai.run_game()


仙女劫 发表于 2021-3-31 20:55

根据书上打的,一直不出先窗口。。。有大佬知道怎么回事吗

C哥888 发表于 2021-3-31 21:03

看清楚有没有打错或漏打的咯,一般书本购买都会有书本的代码光盘

仙女劫 发表于 2021-3-31 21:11

C哥888 发表于 2021-3-31 21:03
看清楚有没有打错或漏打的咯,一般书本购买都会有书本的代码光盘

我去找找代码看看

we6100 发表于 2021-3-31 22:08

确定版本一样么?

vethenc 发表于 2021-3-31 22:14

两处错误:
正确代码如下

import sys
import pygame


class AlienInvasion:

    def __init__(self):
      pygame.init()
      self.screen = pygame.display.set_mode((1200, 800))
#      self.screen = pygame.display.set_mode((self.settings.screen_width, self.settings.screen_height))
      pygame.display.set_caption("Alien Invasion")

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

      


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

vethenc 发表于 2021-3-31 22:15

1. pygame.display.flip()位置
2.if __name__ == '__main__':这里应该是__main__,不是_main_

vethenc 发表于 2021-3-31 22:16

有些书的教材代码本身就是错误,还是多看点大家都推荐的好书吧

vethenc 发表于 2021-3-31 22:17

论坛有大佬出了pygame教程,一起来学吧
https://www.52pojie.cn/thread-1404386-1-1.html

仙女劫 发表于 2021-3-31 22:50

vethenc 发表于 2021-3-31 22:17
论坛有大佬出了pygame教程,一起来学吧
https://www.52pojie.cn/thread-1404386-1-1.html

好的..看的图灵的入门书,我去瞅瞅论坛的教程
页: [1] 2
查看完整版本: python的pygame创建一个窗口一直不出来