Python——利用pygame模块制作RPG游戏(一)
利用pygame模块制作RPG游戏(一)
需要用到的第三方库:pygame
一.构造游戏的基本框架
1.首先准备好相应的游戏素材:背景,人物动作图片,音乐,音效等。 图片均用png格式,音乐音效均用ogg格式 2.主函数代码框架 (1)pygame.init() 初始化pygame,为使用硬件做准备 (2)游戏窗口创建: ①窗口屏幕: screen=pygame.display.set_mode((宽,高)) 二维元组 #创建出来的窗口左上角是(0,0)右下角是(宽,高) ②窗口标题:pygame.display.set_caption(“标题”) (3)载入图像与背景音乐: ①backgroud=pygame.image.load(r"图像地址").convert_alpha() 创建一个surface对象,“.convert_alpha()”保留png图片的alpha通道信息 ②pygame.mixer.music.load(“xx.ogg”) 载入ogg格式音乐 ③pygame.mixer.music.set_volume(音量) 设置音量 (数值0到1.0) ④pygame.mixer.music.play() 播放音乐 (4)创建时钟对象:fps=pygame.time.Clock() 可以控制游戏循环频率 (5)while True框架 : 游戏运行的主循环,每一次循环即为一帧,每一帧的图像移动变换,键盘鼠标事件,屏幕刷新都在此框架中实现 (6)显示图像:screen.blit(surface对象,位置元组):将surface对象的左上角放置在指定位置 (7)刷新屏幕:pygame.display.flip() 将屏幕重新刷新为无图像显示,否则前一帧的图像会和后一帧的图像同时显示 (8)设定帧率:fps.tick(帧数) 设定帧数,设定循环以每秒多少帧运行
import pygame def main(): pygame.init() fps=pygame.time.Clock() screen=pygame.display.set_mode((1240,825)) pygame.display.set_caption("RPG游戏") backgroud=pygame.image.load(r"H:Python自制游戏pygame14.RPG像素竖屏游戏开发素材地形室内.png").convert_alpha() music=pygame.mixer.music.load(r"H:Python自制游戏pygame14.RPG像素竖屏游戏开发素材音乐室内1.ogg") pygame.mixer.music.set_volume(0.3) pygame.mixer.music.play() while True: screen.blit(backgroud,(0,0)) pygame.display.flip() fps.tick(60) main()
程序运行结果如下:
二.事件和人物对象
1.准备人物每一帧动作图片(带有alpha通道)的素材 2.创建人物类 将所有动作图像创建surface对象
class Player(): def __init__(): self.rd0=pygame.image.load(r"H:Python自制游戏pygame14.RPG像素竖屏游戏开发素材人物link_rundown0.png").convert_alpha() self.rd1=pygame.image.load(r"H:Python自制游戏pygame14.RPG像素竖屏游戏开发素材人物link_rundown1.png").convert_alpha() self.rd2=pygame.image.load(r"H:Python自制游戏pygame14.RPG像素竖屏游戏开发素材人物link_rundown2.png").convert_alpha() self.rd3=pygame.image.load(r"H:Python自制游戏pygame14.RPG像素竖屏游戏开发素材人物link_rundown3.png").convert_alpha() self.rd4=pygame.image