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