Pygame的简单总结
Pygame learn from mooc
私货:在调用函数时,可以
1.import tkinter  (不过在使用时还要加前缀如tkinter.Tk())
2.import tkinter as tk (这样的话就可以便于编写了)
3.from tkinter import Tk(这样的话只是制定调用某一个在tkinter中的函数)
4.from tkinter import * (这样就可以调用该第三方库中所用的函数)
用使用from调用第三方库后,在对应函数前就不用加库名了。
<表达式>if<条件>else<表达式>#这样可以让程序更加美观且编写容易。
一,最小游戏(基本结构)(2D游戏)
pygame中必要的游戏最小格式,其他的都能再次基础上进行修改。
import pygame,sys ~关键
pygame.init() ~
size= width,height = 600,400 ~
speed = [1,1]
BLACK =0,0,0 ~
screen =pygame.display.set_mode(size) ~#设置窗口大小
pygame.display.set_caption('Pyhon壁球') ~设置标题
ball = pygame.image.load('D:/Temp/ok1.gif') ~导入图片
ballrect = ball.get_rect() ~
fps = 200
fclock = pygame.time.Clock()
while True: ~
for event in pygame.event.get(): ~#事件效应
if event.type == pygame.QUIT:  #利用if等判断语句设置响应结果                                      |
sys.exit()  #退出程序(sys提供了Python运行时环境变量的操作                                                      |
elif event.type == pygame.KEYDOWN:                                    |
if event.unicode == '':                                         |
print("[KEYDOWN]:","#",event.key,event.mod)               | 事件判断
elif event.type == pygame.MOUSEMOTION:                                |
print("[MOUSEMMOTION]:",event.pos,event.rel,event.buttons)      |
elif event.type == pygame.MOUSEBUTTONUP:                              |
print("[MOUSEBUTTONUP]:",event.pos,event.button)                |
elif event.type == pygame.MOUSEBUTTONDOWN:                            |
print("[MOUSEBUTTONDOWN]:",event.pos,event.button)              |
fclock.tick(fps)
pygame.display.update()  ~
二,pygaem中的函数
1:screen.fill(R,G,B)#RGB颜色参数,将screen,利用对应颜色填充
2:screen.blit(src,dest)#将一个图层绘制到另一个图层上。
3:Rect对象
该对象包含了很多属性如top , bottom ,left,right,height,width(前四个是该对象的位置坐标(左上为原点),后两者是该对象的高和长#对于该类对象,再生成时会与图层最边缘相切
4:fps=300
fclock=pygame.time.Clock()#创建一个Clock对象来控制时间(这里指的是update(刷新)的时间及fps,如果不设置的话,程序将会以电脑当前所能达到的最大速度运行。
fclock.tick(fps)使得程序已设定的时间间隔来执行。
5:pygame.KEYDOWN#pygame对键盘敲击事件的回应
如pygame.K_UP(向上键)
pygame.K_DOWN(向下键)
event.key == pygame.K_UP#其中判断的语句,用event.key表示当前事件
6:屏幕尺寸和模式
pygame.display.set_mode(size)设置屏幕相关的模式参数
pygaame.display.Info()生成屏幕相关信息
pygame.display.set_mode(r=(0,0),flogs=0),r是分辨率采用(width,height),flogs用来控制显示类型[pygame.RESIZABLE窗口大小可调    pygame.NOFRAME 窗口没有边界显示    pygame.FULLSCREEN 窗口满屏显示
pygame.display.Info():current_w,当前显示模式或窗口的像素宽度    current_h当前显示模式或窗口的像素高度
pygame.VIDERESIZE  这是之种窗口大小更改事件,事件发生后,返回event.size元组,包括新窗口的高度(.size[0]或event.w)高度(.size[1]或event.h),返回参数仅在事件发生时有用
7:窗口标题和图标
pygame.display.set_caption()设置标题信息
pygame.display.set_icon()设置图标信息
pygame.display.get_caption()获得图标
pygame.display.set_caption(title,icontitle=None),title是设置窗口标题内容,icontitle设置标题话后的的小标题可选,部分标题没有。
pygame.display.set_icon(surface) 设置窗口图标效果,图标是一个Surface对象,注意在导入图片是需要使用(pygame.image.load('绝对地址'))
8:窗口感知和刷新
pygame.display.get_active()
pygame.display.flip()#刷新窗口,不过是将整个窗口刷新(类似于关闭窗口,再打开这样一个过程)
pygame.display.update()#也是刷新窗口,不过只是刷新窗口内的内容。
9.pygame.Color()
括号中可以使字符串,也可以是RGB值
10.事件处理机制(文字太多~图更直接)








Pygame的简单总结的更多相关文章
- python pygame实现简单的网游
		此示例为简单的实现游戏服务器端和客户端的消息同步,使用自定定义协议,引入了twisted网络框架,还有诸多不足(其实就是半成品). 资源下载地址: http://download.csdn.net/d ... 
- python编程学习--Pygame - Python游戏编程入门(0)---转载
		原文地址:https://www.cnblogs.com/wuzhanpeng/p/4261015.html 引言 博客刚开,想把最近学习的东西记录下来,算是一种笔记.最近打算开始学习Python,因 ... 
- Pygame - Python游戏编程入门(0) 转
		博客刚开,想把最近学习的东西记录下来,算是一种笔记.最近打算开始学习Python,因为我感觉Python是一门很有意思的语言,很早以前就想学了(碍于懒),它的功能很强大,你可以用它来做科学运算,或者数 ... 
- python学习笔记(12)--程序设计方法学
		计算思维: 逻辑思维:推演和演绎 实证思维:实验和验证,引力波->实验 计算思维:设计和构造,计算机为代表,汉诺塔递归. 计算思维特征 抽象和自动化,抽象问题的计算过程,利用计算机自动化求解. ... 
- 如何在Windows上使用Python进行开发
		本文由葡萄城技术团队于原创并首发 转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具.解决方案和服务,赋能开发者. 一直以来C#都是微软在编程语言方面最为显著的Tag,但时至今日Python ... 
- 【学习笔记】PYTHON语言程序设计(北理工 嵩天)
		1 Python基本语法元素 1.1 程序设计基本方法 计算机发展历史上最重要的预测法则 摩尔定律:单位面积集成电路上可容纳晶体管数量约2年翻倍 cpu/gpu.内存.硬盘.电子产品价格等都遵 ... 
- Python系列——常用第三方库
		幕布视图(更加方便.明了):https://mubu.com/doc/AqoVZ8x6m0 参考文献:嵩天老师的Python讲义 模块 定义 计算机在开发过程中,代码越写越多,也就越难以维护,所以为了 ... 
- pygame 练习之 PIE game (以及简单图形训练)
		简单的大饼游戏,掌握pygame中直线以及圆弧的画法,以及对输入的响应. import math import pygame, sys from pygame.locals import * pyga ... 
- pygame学习笔记(6)——一个超级简单的游戏
		转载请注明:@小五义 http://www.cnblogs.com/xiaowuyi 学了这么长时间的Pygame,一直想写个游戏实战一下.看起来很简单的游戏,写其来怎么这么难.最初想写个俄罗斯方块 ... 
随机推荐
- C语言讲义——函数递归
			函数直接或间接调用自身 每次调用必须获得一些进展,进一步靠近目标 达到目标就不再调用自身 阅读递归函数不要纠缠于执行过程,而是相信递归函数会顺利完成任务 例:阶乘 0! =1(0 的阶乘定为1) 1! ... 
- 【python】Matplotlib作图常用marker类型、线型和颜色
			python作图中常常会考虑用什么颜色.marker.线型,这个资料查了又查,所以自己总结在这个地方,以便常用. 一.常用marker表示 1.普通marker 这类普通marker直接marker ... 
- 软件工程与UML第一次作业
			这个作业属于哪个课程 https://edu.cnblogs.com/campus/fzzcxy/2018SE2/ 这个作业要求在哪里 https://edu.cnblogs.com/campus/f ... 
- python删除list中的空list
			list1 = [[], [], [], [], [], 'text', 'text2', [], 'moreText'] 如何删除空列表,以便我得到: list2 = ['text', 'text2 ... 
- Beta冲刺——用户测试报告
			这个作业属于哪个课程 软件工程 (福州大学至诚学院 - 计算机工程系) 这个作业要求在哪里 Beta 冲刺 这个作业的目标 团队进行Alpha冲刺 作业正文 正文 其他参考文献 无 用户测试报告 用户 ... 
- 庐山真面目之六微服务架构Consul集群、Ocelot网关集群和Nginx版本实现
			庐山真面目之六微服务架构Consul集群.Ocelot网关集群和Nginx版本实现 一.简介 在上一篇文章<庐山真面目之五微服务架构Consul集群.Ocelot网关和Nginx版本实 ... 
- vm虚拟机安装centos7。克隆镜像以及快照
			为了方便下次安装配置,保存一篇安装centos的文章 https://blog.csdn.net/wsq119/article/details/80635558 步骤非常详细,一看就会. 这一篇是关于 ... 
- 2017 Mid Central Regional F.Orderly Class(大水题)
			这两天刷了两道过去的原题,看看思维还是8太行. 这道题问给出两个字符串,要求只翻转一次,问有几种不同的方法使得a串变成b串 我一开始没看到只翻转一次,还以为是个计数 + 字符串dp大难题,心想当年的学 ... 
- 在IDEA上 使用maven进行打包时报错: Failed to execute goal org.apache.maven.plugins:maven-javadoc-plugin:2.10.2:jar
			报错内容: Failed to execute goal org.apache.maven.plugins:maven-javadoc-plugin:2.10.2:jar (attach-javado ... 
- es6 数组新增方法
			1.Array.from(): 这个函数的作用是将类似数组的对象转化为数组,比如DOM对象 let arrayLike = { "0":"TangSir&quo ... 
