python pygame入门 - 安装测试篇

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 = Truewhile running:for event in pygame.event.get():if event.type == pygame.QUIT:running = Falsescreen.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)    # 鼠标点击坐标
  • 最终效果展示如下:
    在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/126702.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MATLAB:线性系统的建模与仿真(含完整程序)

目录 前言实验内容一、先看作业题目要求二、作业正文Modeling LTI systemsEstablish model1.tf(sys2)2. tf(sys3)3.zpk(sys1)4. zpk(sys3)5. ss(sys1)6. ss(sys2)7.[num,den] tfdata(sys1)8.[num,den] tfdata(sys2)9.[num,den] tfdata(sys3)10.[num,den] tfdata(sys1,’v’…

Vue MVVM 模型

一、什么事MVVM 模型 MVVM 是 Model-View-ViewModel 的缩写,它是一种软件架构风格 Model:模型, 数据对象(data 函数),如下图 View:视图,模板页面(用于渲染数据&#xf…

使用访问图像三种办法,指针,迭代器,动态地址计算

使用访问图像三种办法&#xff0c;指针&#xff0c;迭代器&#xff0c;动态地址计算 指针访问 方法一 #include <opencv2/opencv.hpp> #include <iostream> #include <opencv2/highgui/highgui.hpp> #include <opencv2/imgproc/imgproc.hpp>using n…

TDengine OSS 与 qStudio 实现无缝协同,革新数据分析和管理方式

在数字化转型如火如荼的当下&#xff0c;海量爆发的时序数据处理成为转型成功的关键因素之一。为了帮助社区用户更好地进行数据分析和管理&#xff0c;丰富可视化解决方案的多样性&#xff0c;我们将开源的时序数据库&#xff08;Time Series Database&#xff09; TDengine OS…

【Vue基础-数字大屏】自定义主题

一、apache主题模板 链接https://echarts.apache.org/zh/download-theme.html 二、操作步骤 1、在apache主题模板中定制所需要的主题&#xff0c;如下图点击下载&#xff0c;复制其json 2、回到项目代码&#xff0c;在assets目录下新建index.js文件&#xff0c;新建变量&…

【消费战略方法论】消费烙印的策略模型

消费烙印策略模型 消费烙印策略&#xff0c;以消费者认知为导向&#xff0c;以品牌核心价值为中心&#xff0c;建立统一、高效、落地的品牌系统闭环&#xff0c;通过极致烙印方法(定位语言烙印、视觉烙印、产品烙印)让品牌价值烙印深植消费者心智。 消费烙印的对象是消费者&a…

linux 安装 jsoncpp包

报错 CMake Error at CMakeLists.txt:20 (find_package): Could not find a package configuration file provided by “jsoncpp” with any of the following names: jsoncppConfig.cmake jsoncpp-config.cmake 如何安装 jsoncpp sudo aot-get install libjsoncpp-dev

windows系统下利用python对指定文件夹下面的所有文件的创建时间进行修改

windows系统下利用python对指定文件夹下面的所有文件的创建时间进行修改 不知道其他的朋友们有没有这个需求哈&#xff0c;反正咱家是有这个需求 需求1、当前有大量的文件需要更改文件生成的时间&#xff0c;因为不可告知的原因&#xff0c;当前的文件创建时间是不能满足使用的…

杨氏矩阵/杨图x杨表(知识点总结)

思路来源 https://www.cnblogs.com/henrici3106/p/16710990.html 1 到 N 的排列&#xff0c;最长上升子序列&#xff08;LIS&#xff09;长度的期望是多少&#xff1f; - 知乎 杨氏矩阵 - OI Wiki 心得 感觉可能有用的就是一个Hook公式&#xff08;勾长公式&#xff09;吧…

多源蒸馏域适应

方法 D是域判别器&#xff0c;C是分类器。阶段3选择更接近目标的源训练样本用来微调C。阶段4对于每个源域&#xff0c;基于阶段2学到的目标编码器提取图像特征。接着结合每个源分类器的不同预测获得最终预测Result( x T x_T xT​) ∑ i 1 N w i C i ′ ( F i T ( x T ) ) \sum…

快速了解SpringCloud Sleuth --链路追踪 + Zipkin--数据搜集/存储/可视化

&#x1f600;前言 本篇博文是关于SpringCloud Sleuth --链路追踪 Zipkin–数据搜集/存储/可视化的基本介绍和使用&#xff0c;希望你能够喜欢 &#x1f3e0;个人主页&#xff1a;晨犀主页 &#x1f9d1;个人简介&#xff1a;大家好&#xff0c;我是晨犀&#xff0c;希望我的文…

华为云云耀云服务器L实例评测|部署项目管理工具 Focalboard

华为云云耀云服务器L实例评测&#xff5c;部署项目管理工具 Focalboard 一、云耀云服务器L实例介绍1.1 云服务器介绍1.2 产品优势1.3 产品规格1.4 应用场景 二、云耀云服务器L实例配置2.1 重置密码2.2 服务器连接2.3 安全组配置 三、部署 Focalboard3.1 Focalboard 介绍3.2 Doc…