使用类在python和pygame的不同脚本中

使用类在python和pygame的不同脚本中,python,class,pygame,Python,Class,Pygame,我最近开始用python和pygame制作一个游戏,我有一个主脚本,它导入了我的所有其他脚本,然后运行它们,但我有两个主要问题。第一个问题是,当我运行主脚本中的第一个脚本时,它似乎会在该类之后停止,而不会继续运行另一个脚本 我想让游戏做什么: 以图片作为开场白。(工作) 然后,一旦学分完成,启动一个菜单,此时这只是一个播放按钮和一个Rect,它将有一个碰撞响应来检测玩家是否点击了它。(不工作) 以下是我的脚本: RUN.py(运行所有内容的主游戏): 然后是Menu.py(游戏的菜单) 没有错误

我最近开始用python和pygame制作一个游戏,我有一个主脚本,它导入了我的所有其他脚本,然后运行它们,但我有两个主要问题。第一个问题是,当我运行主脚本中的第一个脚本时,它似乎会在该类之后停止,而不会继续运行另一个脚本

我想让游戏做什么:

以图片作为开场白。(工作)

然后,一旦学分完成,启动一个菜单,此时这只是一个播放按钮和一个Rect,它将有一个碰撞响应来检测玩家是否点击了它。(不工作)

以下是我的脚本:

RUN.py(运行所有内容的主游戏):

然后是Menu.py(游戏的菜单)

没有错误消息,它似乎可以工作,但图像没有显示在屏幕上


谢谢你的时间和帮助

您的结构不正确。您已经合并了两种不同的方法

您有一个运行脚本,它应该首先显示3张图片,然后显示菜单

现在,您有一个while循环,它调用Begin和Menu的run函数,直到您关闭游戏

相反,文件应如下所示:

import pygame, random, math, sys, os, time
import startUp, Menu
from pygame.locals import *
pygame.init()

#classes setup
Begin = startUp.Begin()
Begin.run()

Menu = Menu.HUD()
Menu.run()
Menu.py

class HUD(object):
    def run(object):
        while True:
            object.playButtonRect = Rect(464, 232, 256, 128)
            object.screen.blit(object.playButtonUp, (464, 232))
            for event in pygame.event.get():
                if event.type == QUIT:
                    pygame.quit()
                    sys.exit()

是否开始运行()
是否结束?顺便说一句,函数和方法名使用小写,类名使用大写。我不熟悉
pygame
,但可以调用
pygame.init()
两次吗?您可以在
Menu.py
中重复这一点。这就是我需要做的,获取begin.Run()end,但是怎么做呢?
import pygame, random, math, sys, os, time
import startUp, Menu
from pygame.locals import *
pygame.init()

#classes setup
Begin = startUp.Begin()
Begin.run()

Menu = Menu.HUD()
Menu.run()
class HUD(object):
    def run(object):
        while True:
            object.playButtonRect = Rect(464, 232, 256, 128)
            object.screen.blit(object.playButtonUp, (464, 232))
            for event in pygame.event.get():
                if event.type == QUIT:
                    pygame.quit()
                    sys.exit()