pygame入门 - 安装篇
- 引言
 - 一、安装测试
 - 1.1 创建虚拟环境
 - 1.2 安装测试pygame
 
- 二、查看例程源码
 - 2.1 源码位置
 - 2.2 简单修改
 
引言
pygame是Python语言特别为游戏开发而设计的一个开源库。它提供了一系列模块和函数,可以帮助开发者快速构建2D游戏、多媒体应用程序和其他图形用户界面。pygame支持加载和处理图片、声音、视频等多媒体文件,同时还可以在游戏中创建和管理窗口、画布等基本组件。除此之外,pygame还提供了丰富的自定义事件和游戏循环处理方法来实现更加灵活、多样化的游戏玩法。其优势如下:
- 易于学习:pygame拥有简单的API、易于理解的文档和大量例程,这使得初学者可以很快上手。
 - 广泛的功能:pygame提供了很多有用的功能,如窗口创建、音频和视频播放、事件处理、图像绘制和键盘、鼠标等输入控制,这使得它成为开发多种类型游戏和应用程序的理想选择。
 - 高效性能:pygame使用C语言编写底层库,因此它可以在相关硬件上提供更高的性能。
 
官方网址:https://www.pygame.org/news
一、安装测试
1.1 创建虚拟环境
创建一个较为纯净的环境,方便后续写代码以及对程序打包等
- 打开Anaconda Prompt,创建环境
conda create --name game-py36 python=3.6,无脑yes,结果如下:

 - 新建一个Pycharm工程,python解释器选择新建的环境

 - 打开Pycharm最下方的Terminal,默认即为当前环境

 
1.2 安装测试pygame
- 在上述环境中,安装pygame库,
pip install -U pygame --user

 - 测试代码,看
pygame是否正常安装,运行之后显示一个小蓝框 
import pygame
# pygame setup
pygame.init()
screen = pygame.display.set_mode((640, 360))
clock = pygame.time.Clock()
running = True
while running:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            running = False
    screen.fill("blue")
    pygame.display.flip()
    clock.tick(60)  # FPS 60
pygame.quit()
 

- 运行例程,
python -m pygame.examples.aliens,一个射击外星人的小游戏:左右移动,空格射击 (挂了多次尝试出来的按键,这游戏连个提示都没得额)…

 
二、查看例程源码
官方文档:https://www.pygame.org/docs/
2.1 源码位置
- 打印例程源码文件位置,都在安装目录的
pygame/examples下 
import pygame.examples.scaletest
print(pygame.examples.scaletest.__file__)
 
- 显示如下,刚安装完,pycharm未能检测到当前环境改变…

 - 这里
import pygame可以正常运行,但没有代码提示,鼠标悬浮显示No module.....。重启Pycharm后正常

 - 启动一个例程,根据以上路径找到
stars.py文件,使用pycharm打开并运行:

 
2.2 简单修改
查看stars.py源码,修改部分参数
- 修改
NUMSTARS数量: 
WINSIZE = [640, 480]     # 窗口大小
WINCENTER = [320, 240]   # 星星起始坐标
NUMSTARS = 1500          # 星星数量 500 -> 1500
 
- 看源码发现
WINCENTER可由鼠标点击重新赋值 
if e.type == pg.MOUSEBUTTONDOWN and e.button == 1:
    WINCENTER[:] = list(e.pos)    # 鼠标点击坐标
 
- 最终效果展示如下:

 











![练[ZJCTF 2019]NiZhuanSiWei](https://img-blog.csdnimg.cn/img_convert/5fbb7b5d1f61b9ccd74230f522571bd4.png)


![vue-img-cutter 实现图片裁剪[vue 组件库]](https://img-home.csdnimg.cn/images/20230724024159.png?origin_url=https%3A%2F%2Fimages.zeroingpython.top%2F%2Fimg%2Fimage-20231006185757100.png&pos_id=img-FJebRN3O-1696590162195)




