赞
踩
pygame是一个免费且开源的跨平台python多媒体库,主要用作游戏开发。pygame诞生于2000年,在python 2D游戏开发领域,pygame是最经典的游戏库
1.安装前,首先使用pycharm创建一个带虚拟环境的项目,完成如下图设置点击创建即可。
2.单击Python Packages,在搜索框搜索pygame点击安装包安装即可
3.验证,如果你想要验证你是否已经安装完毕pygame,您可以在终端输入pip list得到反馈如下:
或者在终端中输入如下命令去验证:
python -m pygame.examples.aliens
得到反馈如下:
首先新建一个py类型的文件夹。操作如下:点击文件>新建>Python文件输入文件名回车即可
其次,我们就该开始代码的编写了,首先我们应该我们这个程序都用到了哪些模块,然后引入该模块在python中引入模块所使用的关键字为import所以有了下列两行代码:
#引入相关模块也可以这样写import pygame,sys
import pygame
import sys
相关模块有了我们需要给一个用户可以直接进入的函数,也就是说给用户一个开始该程序的入口,那是什么呢?没错是主函数,进行相应扩充产生了如下代码:
import pygame,sys
if __name__ == '__main__':
#该print语句仅仅是为了程序不报错无实际意义
print("Hello")
首先我们在使用pygame模块的时候必须要对齐进行初始化,初始化的方法很简单,即调用pygame.init()(pygame.init与pygame.quit()分别对应初始化与逆初始化的过程二者必须同时出现)。然后我们想一想我们通常玩的游戏都有什么?一个显示各种画面的窗口有了需求我们就该思考如何去实现。这时候我们就会注意到pygame.display.set_mode(),该函数接收一个表示宽高的二元组。相关代码实现搞定后扩充代码:
import pygame,sys
if __name__=='__main__':
pygame.init()
pygame.display.set_mode((400,300))
pygame.quit()
到此处用户可以试着运行一下,运行后发现窗口显示了一会后就立马消失了,效果图如下:
那么如何让他持久的显示呢?这里就用到了一个循环语句。python中的循环有两种一种是for循环一种是while循环。下列是两者的一个小例子:
#for循环案例
for a in [1,2,3]:
for b in ['a','b']:
print(a,b)
输出结果如下:
#while循环案例
a=0
while a<5:
a=a+1
print(a)
输出结果如下:
如果让while后边的条件恒成立,则while会恒循环除非遇到break或相应事件使其结束循环。然后我们思考一下pygame.quit()的出现时机,它应该在我们点击右上角叉号时起作用它起作用后应该跟着sys.exit()函数去退出控制台以至于程序不报错,那我们该怎么知道用户是否点击了右上角的×号呢。这里我们就用到了pygame.event通过其中的get方法我们可以知道用户究竟在窗口上做了什么,然后使用if语句判断其类型是否与pygame里所拥有的常量相同而去根据用户动作去调用方法,这一步的代码扩充如下:
import pygame,sys
if __name__=='__main__':
pygame.init()
pygame.display.set_mode((400,300))
while True:
for event in pygame.event.get():
if event.type==pygame.QUIT:
pygame.quit()
sys.exit()
#该代码为刷新界面之用会在之后进行讲解
pygame.display.update()
然后我们对该代码做一些小的调整,将main里的写入一个函数里然后在主函数中调用该函数改造结果如下:
# 引入相关模块 import pygame,sys # 函数声明与定义 def main(): # 初始化 pygame.init() # 设置窗口大小 pygame.display.set_mode((400, 300)) # 主循环 while True: for event in pygame.event.get(): if event.type == pygame.QUIT: # 用户点击叉号结束 pygame.quit() sys.exit() # 刷新窗口页面 pygame.display.update() if __name__=='__main__': # 调用函数 main()
转换时请格外注意缩进
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。