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的简单总结的更多相关文章

  1. python pygame实现简单的网游

    此示例为简单的实现游戏服务器端和客户端的消息同步,使用自定定义协议,引入了twisted网络框架,还有诸多不足(其实就是半成品). 资源下载地址: http://download.csdn.net/d ...

  2. python编程学习--Pygame - Python游戏编程入门(0)---转载

    原文地址:https://www.cnblogs.com/wuzhanpeng/p/4261015.html 引言 博客刚开,想把最近学习的东西记录下来,算是一种笔记.最近打算开始学习Python,因 ...

  3. Pygame - Python游戏编程入门(0) 转

    博客刚开,想把最近学习的东西记录下来,算是一种笔记.最近打算开始学习Python,因为我感觉Python是一门很有意思的语言,很早以前就想学了(碍于懒),它的功能很强大,你可以用它来做科学运算,或者数 ...

  4. python学习笔记(12)--程序设计方法学

    计算思维: 逻辑思维:推演和演绎 实证思维:实验和验证,引力波->实验 计算思维:设计和构造,计算机为代表,汉诺塔递归. 计算思维特征 抽象和自动化,抽象问题的计算过程,利用计算机自动化求解. ...

  5. 如何在Windows上使用Python进行开发

    本文由葡萄城技术团队于原创并首发 转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具.解决方案和服务,赋能开发者. 一直以来C#都是微软在编程语言方面最为显著的Tag,但时至今日Python ...

  6. 【学习笔记】PYTHON语言程序设计(北理工 嵩天)

    1 Python基本语法元素 1.1 程序设计基本方法 计算机发展历史上最重要的预测法则     摩尔定律:单位面积集成电路上可容纳晶体管数量约2年翻倍 cpu/gpu.内存.硬盘.电子产品价格等都遵 ...

  7. Python系列——常用第三方库

    幕布视图(更加方便.明了):https://mubu.com/doc/AqoVZ8x6m0 参考文献:嵩天老师的Python讲义 模块 定义 计算机在开发过程中,代码越写越多,也就越难以维护,所以为了 ...

  8. pygame 练习之 PIE game (以及简单图形训练)

    简单的大饼游戏,掌握pygame中直线以及圆弧的画法,以及对输入的响应. import math import pygame, sys from pygame.locals import * pyga ...

  9. pygame学习笔记(6)——一个超级简单的游戏

    转载请注明:@小五义  http://www.cnblogs.com/xiaowuyi 学了这么长时间的Pygame,一直想写个游戏实战一下.看起来很简单的游戏,写其来怎么这么难.最初想写个俄罗斯方块 ...

随机推荐

  1. C++基础入门知识:C++命名空间(名字空间)详解

    一个中大型软件往往由多名程序员共同开发,会使用大量的变量和函数,不可避免地会出现变量或函数的命名冲突.当所有人的代码都测试通过,没有问题时,将它们结合到一起就有可能会出现命名冲突. 例如小李和小韩都参 ...

  2. 为什么学完C语言觉得好像没学一般?

    不少同学从Hello world学到文件操作之后,回顾感觉会又不会? 学会了又感觉没学会?这种不踏实.模糊虚无的感觉?   原因在于编程不同于理论学科,你听懂和理解了理论就可以运用. 比如历史地理,看 ...

  3. 三:robot framework常用关键字

    该部分介绍的是内置库:Builtin,估不需要导入,即可使用 1.RF中定义一个变量: ${XXX}   XXX表示:变量名 *** Settings *** *** Test Cases *** 定 ...

  4. 记一次腾讯TBS浏览服务集成实践

    这次的分享源于最近的实际开发工作. 项目需求是 在原生Android应用中嵌入WebView,放置用于支撑音视频直播业务的Web页: 另外还需提供Word.Excel.PowerPoint.PDF等常 ...

  5. 华为交换机eNSP删除Vlan的详细步骤

    设备支持批量删除VLAN和单个删除VLAN两种方式: 单个删除VLAN10 <HUAWEI> system-view [HUAWEI] undo vlan 10 批量删除VLAN10到VL ...

  6. Android面试题《思考与解答》11月刊

    又来更新啦,Android面试题<思考与解答>11月刊奉上. 说说View/ViewGroup的绘制流程 View的绘制流程是从ViewRoot的performTraversals开始的, ...

  7. 网骗欺诈?网络裸奔?都是因为 HTTP?

    先跟大家讲个故事,我初恋是在初中时谈的,我的后桌的后桌.那个时候没有手机这类的沟通工具,上课交流有三宝,脚踢屁股.笔戳后背以及传纸条,当然我只能是那个屁股和后背,还不是能让初恋踢到的后背. 但是说实话 ...

  8. fist-第七天冲刺随笔

    这个作业属于哪个课程 https://edu.cnblogs.com/campus/fzzcxy/2018SE1 这个作业要求在哪里 https://edu.cnblogs.com/campus/fz ...

  9. 一种更优雅的Flutter Dialog解决方案

    前言 系统自带的Dialog实际上就是Push了一个新页面,这样存在很多好处,但是也存在一些很难解决的问题 必须传BuildContext loading弹窗一般都封装在网络框架中,多传个contex ...

  10. PyQt+moviepy音视频剪辑实战2:一个剪裁视频文件精华内容留存工具的实现

    专栏:Python基础教程目录 专栏:使用PyQt开发图形界面Python应用 PyQt+moviepy音视频剪辑实战 专栏:PyQt入门学习 老猿Python博文目录 老猿学5G博文目录 一.引言 ...