用户:秋葵查看:5 回复:21 评论:5 创建时间:2018-08-10T15:20:18
Hi!大家好!这里是CODEMAO科普协会第二期,这一次,我们来讲:
Python——Pygame
Q:什么是Pygame
Pygame
Pygame是跨平台Python模块,专为电子游戏设计,包含图像、声音。建立在SDL基础上,允许实时电子游戏研发而无需被低级语言(如机器语言和汇编语言)束缚。
pygame建立在SDL基础上,允许实时电子游戏研发而无需被低级语言(如机器语言和汇编语言)束缚。基于这样一个设想,所有需要的游戏功能和理念都(主要是图像方面)都完全简化为游戏逻辑本身,所有的资源结构都可以由高级语言提供,如:Python。
—— 本文源于网络
Q:如何用pygame制作游戏?
打开CMD,输入pip install pygame即可下载
(CMD:打开,输入CMD,点击即可。)
#载入pygame库
Import pygame #初始化pygame库(放在使用pygame函数先前)
pygame.init()
注意:不要把py文件命名为pygame,会报错!!!
2.#开始游戏
while True:
#这两句是对相互事件的持续侦测↑
#用for循环遍历侦测到的所有事件↓
for event in pygame.event.get():
#确定了对事情的反馈,如果关闭窗口↓
if event.type == pygame.QUIT:
#直接退出主循环,结束所有进程↓
sys.exit()
#如果游戏持续进行↓
if keep_going:
pass
(不了解while循环和for循环的训练师可以喵问)
3.游戏窗口
#设置游戏窗口,大小为500*500的像素↓
pygame.display.set_mode([500,500])
#设置游戏窗口名称Codemao↓
pygame.display.set_caption("Codemao")
#载入图片,把图片存放到变量image,C:\\User\\1.jpg是图片位置,如果在同一目录下可以直接使用1.jpg↓
Image=pygame.image.load("C:\\User\\1.jpg")
#设置游戏窗口图标↓
Pygame.display.set_icon(Image)
效果:
#把背景图片放入变量↓
background =pygame.image.load("C:\\User\\background.jpg")
#载入背景图片在坐标(0,0)↓
screen.blit(background,(0,0))
……………(自己试一试载入图片)
注意: (0,0)是在左上角,不是在中心点
Q:如何使图片进行移动?
A:只要增减图片的x或y坐标移动就可以了。
#同时更新画布,不然会有重影。
#对画布进行更新↓
pygame.display.update()
#设置帧数为60↓
pygame.time.Clock().tick(60)
效果:
5.碰撞检测
可以利用矩形检测来查询两张图片是否碰撞
#给图形加上矩形↓
变量名称=图片名称.get_rect()
#让矩形随着角色移动x,y可以持续移动↓
图片名称.center=(x,y)
#判断两个矩形是否相交,相交返回True,否则返回False↓
pygame.Rect.colliderect(矩形1,矩形2)
#可以加上if语句来判断是否离开边缘
效果:
6.绘制文字
#设置字体字号 字体为None 字号为52
font=pygame.font.SysFont(None,52)
#contert:文字内容
#True 或者 False :是否抗锯齿
# color:(0,0,0)RGB颜色
font.render(content,True,color)
效果:
7.键值对应
添加在 if keep_going:
修改pass
以下是python键值对应表
https://blog.csdn.net/stoneyyhit/article/details/52259993
8.背景音乐
#把声音文件放入变量bgm里头
#如同图片一样,在同一内目录下只需输入文件名↓
bgm=pygame.mixer.Sound('C:\\User\\1.wav')
#调用频道1播放音乐,每一个频道只能有一首音乐↓
pygame.mixer.Channel(1).play(bgm)
#停止音乐↓
pygame.mixer.music.stop()
----------------------------
本栏目由[Codemao科普协会] 更新
内容参考:
https://blog.csdn.net/chenhua1125/article/details/79519614
文字贡献:
薄暮晨光 绝命徒神探 隐于人间的老猫
图片贡献:
咚当家族 Ryan袁奥
排版贡献:
梦幻想
(其实,我是假编)
——————————————————————————END———————————————————————————————