如何解决Pygame:为什么不出现窗口?
我一直在尝试和我儿子一起制作一个基本的口袋妖怪风格的游戏。这是一次相当临时的学习体验。
我已经让大多数事情以一种或另一种方式工作,但以下代码似乎不想合作。应该发生的只是屏幕出现,填充为白色,两个“口袋妖怪”被画在上面。按原样,屏幕会弹出一瞬间,然后关闭。任何指导将不胜感激!
import pygame
import random
import sys
Boomeroo = pygame.image.load("C:\\Users\\19168\\Desktop\\1stgame\\img\\Boomeroo.png")
Caterpetal = pygame.image.load("C:\\Users\\19168\\Desktop\\1stgame\\img\\Caterpetal.png")
class Pokemon():
def __init__(self,x,y,name):
self.name = name
self.x = x
self.y = y
self.img = None
def draw(self,screen):
screen.blit(self.img,(self.x,self.y))
class Playerpoke(Pokemon):
def __init__(self,name):
super().__init__(x,name)
self.x = 50
self.y = 100
self.img = Caterpetal
self.name = "Caterpetal"
class Wild(Pokemon):
def __init__(self,name)
self.x = 280
self.y = 380
self.pic = Boomeroo
self.name = "Boomeroo"
class Game():
def __init__(self):
pygame.init()
self.screen = pygame.display.set_mode((400,400))
self.player = Playerpoke(self,50,100)
self.wild = Wild(self,280,380)
self.clock = pygame.time.Clock()
def redraw():
self.player.draw(self.screen)
self.wild.draw(self.screen)
self.screen.fill((255,255,255))
pygame.display.update()
def main(self):
running = True
while running:
self.redraw()
self.clock.tick(60)
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
pygame.quit()
解决方法
您必须调用 main
方法。创建一个 Game
实例并调用 main
:
game = Game()
game.main()
pygame.quit()
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。