需要安装pygame,做的超级玛丽简易代码,记录一下,素材需要如下,音频,积分,子弹,障碍物,人物,背景图片。
import pygame
from pygame.locals import *
import sys
SCREENWIDTH = 822
SCREENHEIGHT = 199
FPS = 30
def mainGame():
score = 0 # 得分
over = False # 游戏结束标记
global SCREEN, FPSCLOCK
pygame.init()
# 使用Pygame时钟之前,必须先创建Clock对象的一个实例,
# 控制每个循环多长时间运行一次。
FPSCLOCK = pygame.time.Clock()
SCREEN = pygame.display.set_mode((SCREENWIDTH, SCREENHEIGHT)) # 通常来说我们需要先创建一个窗口,方便我们与程序的交互。
pygame.display.set_caption('玛丽冒险') # 设置窗口标题
# 创建地图对象
bg1 = MyMap(0, 0)
bg2 = MyMap(800, 0)
# 创建小玛丽对象
marie = Marie()
addObstacleTimer = 0 # 添加障碍物的时间
list = [] # 障碍物对象列表
music_button = Music_Button() # 创建背景音乐按钮对象
btn_img = music_button.open_img # 设置背景音乐按钮的默认图片
music_button.bg_music.play(-1) # 循环播放背景音乐
while True:
# 获取单击事件
for event in pygame.event.get():
if event.type == pygame.MOUSEBUTTONUP: # 判断鼠标事件
if music_button.is_select(): # 判断鼠标是否在静音按钮范围
if music_button.is_open: # 判断背景音乐状态
btn_img = music_button.close_img # 单击后显示关闭状态的图片
music_button.is_open = False # 关闭背景音乐状态
music_button.bg_music.stop() # 停止背景音乐的播放
else:
btn_img = music_button.open_img
music_button.is_open = True
music_button.bg_music.play(-1)
# 如果单击了关闭窗口就将窗口关闭
if event.type == QUIT:
pygame.quit() # 退出窗口
sys.exit() # 关闭窗口
# 单击键盘空格键,开启跳的状态
if event.type == KEYDOWN and event.key == K_SPACE:
if marie.rect.y >= marie.lowest_y: # 如果小玛丽在地面上