热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

中导入pygame_Pygame(一)

Pygame(一)前言从今天开始,学习Pygame安装因为pygame与turtle库不一样,是一个第三方库.因此,需要我们手动去安装pygame库我们打开命令行窗口:快捷键:wi
Pygame(一)

前言

从今天开始,学习Pygame

安装

因为pygame与turtle库不一样,是一个第三方库.
因此,需要我们手动去安装pygame库

我们打开命令行窗口:

  1. 快捷键:win+R (win就是键盘上那个有windows徽标的(四个方块的)的那个键)

    695bae2cf1292d8ffc20be72b049b90c.png

    image.png

  2. 然后输入cmd

    a31d254cddb0cf564aa216a9ac1eaba9.png

    image.png

  3. 点运行(回车)
    4.在弹出的窗口中输入:

pip install pygame

c1d20083fad3513ce85ce3cffb3737f9.png

image.png

  1. 静候安装

    3be34768bec4a3a9229de8cc57c95d0a.png

    image.png

截止今天,pygame库版本已经更新到2.0.1了

Pygame程序最小模板

# /usr/bin/python3

# Author: 爱编程的章老师
# @Time: 2020/12/30 0030
# E-mail: Bluesand2010@163.com
import sys
import pygame
pygame.init() # 初始化pygame
screen = pygame.display.set_mode(size=(800, 600)) # 设置窗口大小,并返回窗体
while 1:
for event in pygame.event.get():
if event.type == pygame.QUIT:
sys.exit()

代码分析

第一行:

import sys

导入sys库
因为这里我们只用到了exit()函数
所以,也可以写成

from sys import exit

exit() 用来当我们不想玩游戏的时候,退出游戏结束程序用的.

第二行:

import pyame

导入我们的主角:pygame库

这个库,功能非常强大.随着我们的学习,慢慢了解它,熟悉它,从而爱上它.

第三行:

pygame.init()

这个init是我们程序里经常要用到的一个单词:

839d2ce7eef4cfe81f9e07716d98ab48.png

image.png

如下,这是百度翻译给出的翻译.
这里
作用就是用来初始化的其本质就是检测电脑设备是否能够正常运行.
返回值是一个元组

  1. 第一个元素是正常的设备数

  2. 第二个元素是失败的设备数
    如果你对硬件比较熟悉,或者后期我们比较熟悉了,可以对单个设备进行一对一的初始化,而不是这里一次性的初始化

第四行:

screen = pygame.display.set_mode(size=(800, 600)) # 设置窗口大小,并返回窗体

set_mode()的参数比较复杂,我们可以看一下这个函数的定义:

def set_mode(size=00, flags=0, depth=0, display=0, vsync=0)

简略做下介绍:
size: 是一个元组(tuple),第一个参数是窗口的宽,第二个参数是窗口的高

  1. 如果没有传入 size参数,或者使用默认设置 (0, 0),且 Pygame 使用 SDL1.2.10 以上版本,那么创建出来的 Surface 对象将与当前屏幕用户一样的分辨率。

  2. 如果只有宽或高其中一项被设置为 0,那么 Surface 对象将使用屏幕分辨率的宽或高代替它。

  3. 如果 SDL 版本低于 1.2.10,那么将抛出异常。

flags:指定你想要的显示类型
取值列表如下:

选项含义
pygame.FULLSCREEN创建一个全屏显示
pygame.DOUBLEBUF1. 双缓冲模式 2. 推荐和 HWSURFACE 或 OPENGL 一起使用
pygame.HWSURFACE硬件加速,只有在 FULLSCREEN 下可以使用
pygame.OPENGL创建一个 OPENGL 渲染的显示
pygame.RESIZABLE创建一个可调整尺寸的窗口
pygame.NOFRAME创建一个没有边框和控制按钮的窗口

如果有多个选项要同时选的时候,用"|"来连接不同的值

depth:表示使用的颜色深度
通常不会改这个值,默认值时,Pygame会根据当前操作系统选择最好和最快的颜色深度

vsync:用来设置垂直同步的.不过效果不怎么给力.一般默认值0即可,如果非要设置,取1就可.不过,不一定有效果

display:获取display的索引.0表示当前的display对象.同样,取默认值即可
总结:
set_mode()在使用的时候,通常只设置第一个参数,即宽和高即可

第五行

无限循环:

作用:进入游戏循环

第六行:

for event in pygame.event.get():

pygame.event.get() 函数返回一个pygame的事件列表.
这个循环是我们对事件的处理循环.当我们需要响应pygame的事件的时候,就要在这里处理.
具体的事件,回头再详解.
结合第七行,我们处理了退出程序的事件(即点了窗口的那个X的事件)
事件名称:pygame.QUIT

第七行

if event.type == pygame.QUIT:

判断事件类型,是否为退出程序事件

第八行

sys.exit()

退出程序

总结

以上,就是pygame的最小程序框架.我们后续的内容,都将在这个框架的基础上进行操作.
请牢记.

程序运行效果图:

a9164ea789e12c770706da4a7073a823.png




推荐阅读
  • 本文介绍了在Windows环境下如何配置php+apache环境,包括下载php7和apache2.4、安装vc2015运行时环境、启动php7和apache2.4等步骤。希望对需要搭建php7环境的读者有一定的参考价值。摘要长度为169字。 ... [详细]
  • 搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的详细步骤
    本文详细介绍了搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的步骤,包括环境说明、相关软件下载的地址以及所需的插件下载地址。 ... [详细]
  • 本文介绍了如何使用C#制作Java+Mysql+Tomcat环境安装程序,实现一键式安装。通过将JDK、Mysql、Tomcat三者制作成一个安装包,解决了客户在安装软件时的复杂配置和繁琐问题,便于管理软件版本和系统集成。具体步骤包括配置JDK环境变量和安装Mysql服务,其中使用了MySQL Server 5.5社区版和my.ini文件。安装方法为通过命令行将目录转到mysql的bin目录下,执行mysqld --install MySQL5命令。 ... [详细]
  • 本文介绍了Composer依赖管理的重要性及使用方法。对于现代语言而言,包管理器是标配,而Composer作为PHP的包管理器,解决了PEAR的问题,并且使用简单,方便提交自己的包。文章还提到了使用Composer能够避免各种include的问题,避免命名空间冲突,并且能够方便地安装升级扩展包。 ... [详细]
  • YOLOv7基于自己的数据集从零构建模型完整训练、推理计算超详细教程
    本文介绍了关于人工智能、神经网络和深度学习的知识点,并提供了YOLOv7基于自己的数据集从零构建模型完整训练、推理计算的详细教程。文章还提到了郑州最低生活保障的话题。对于从事目标检测任务的人来说,YOLO是一个熟悉的模型。文章还提到了yolov4和yolov6的相关内容,以及选择模型的优化思路。 ... [详细]
  • 本文介绍了lua语言中闭包的特性及其在模式匹配、日期处理、编译和模块化等方面的应用。lua中的闭包是严格遵循词法定界的第一类值,函数可以作为变量自由传递,也可以作为参数传递给其他函数。这些特性使得lua语言具有极大的灵活性,为程序开发带来了便利。 ... [详细]
  • Python实现变声器功能(萝莉音御姐音)的方法及步骤
    本文介绍了使用Python实现变声器功能(萝莉音御姐音)的方法及步骤。首先登录百度AL开发平台,选择语音合成,创建应用并填写应用信息,获取Appid、API Key和Secret Key。然后安装pythonsdk,可以通过pip install baidu-aip或python setup.py install进行安装。最后,书写代码实现变声器功能,使用AipSpeech库进行语音合成,可以设置音量等参数。 ... [详细]
  • 开发笔记:加密&json&StringIO模块&BytesIO模块
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了加密&json&StringIO模块&BytesIO模块相关的知识,希望对你有一定的参考价值。一、加密加密 ... [详细]
  • 使用Ubuntu中的Python获取浏览器历史记录原文: ... [详细]
  • 本文介绍了在CentOS上安装Python2.7.2的详细步骤,包括下载、解压、编译和安装等操作。同时提供了一些注意事项,以及测试安装是否成功的方法。 ... [详细]
  • 基于dlib的人脸68特征点提取(眨眼张嘴检测)python版本
    文章目录引言开发环境和库流程设计张嘴和闭眼的检测引言(1)利用Dlib官方训练好的模型“shape_predictor_68_face_landmarks.dat”进行68个点标定 ... [详细]
  • 如何查询zone下的表的信息
    本文介绍了如何通过TcaplusDB知识库查询zone下的表的信息。包括请求地址、GET请求参数说明、返回参数说明等内容。通过curl方法发起请求,并提供了请求示例。 ... [详细]
  • MySQL语句大全:创建、授权、查询、修改等【MySQL】的使用方法详解
    本文详细介绍了MySQL语句的使用方法,包括创建用户、授权、查询、修改等操作。通过连接MySQL数据库,可以使用命令创建用户,并指定该用户在哪个主机上可以登录。同时,还可以设置用户的登录密码。通过本文,您可以全面了解MySQL语句的使用方法。 ... [详细]
  • 本文介绍了使用哈夫曼树实现文件压缩和解压的方法。首先对数据结构课程设计中的代码进行了分析,包括使用时间调用、常量定义和统计文件中各个字符时相关的结构体。然后讨论了哈夫曼树的实现原理和算法。最后介绍了文件压缩和解压的具体步骤,包括字符统计、构建哈夫曼树、生成编码表、编码和解码过程。通过实例演示了文件压缩和解压的效果。本文的内容对于理解哈夫曼树的实现原理和应用具有一定的参考价值。 ... [详细]
  • 如何实现JDK版本的切换功能,解决开发环境冲突问题
    本文介绍了在开发过程中遇到JDK版本冲突的情况,以及如何通过修改环境变量实现JDK版本的切换功能,解决开发环境冲突的问题。通过合理的切换环境,可以更好地进行项目开发。同时,提醒读者注意不仅限于1.7和1.8版本的转换,还要适应不同项目和个人开发习惯的需求。 ... [详细]
author-avatar
手机用户2602938185
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有