微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Pygame:为什么不出现窗口?

如何解决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 举报,一经查实,本站将立刻删除。