PYGAME学习笔记_01
- 01_使用PYGAME创建图形窗口
- 1.1_游戏的初始化和退出
- pygame.init() 写入并初始化所有PYGAME模块,使用其他模块之前,必须先调用init方法
- pygame.quit() 卸载所有pyfame模块,游戏结束之前调用
- 1.2_游戏中的坐标系
- 远点在左上角
- x轴水平方向向右
- y轴垂直方向向下
- 游戏中所有可见元素都是以矩形区域来描述位置:(x,y) (width,height)
- pygame.Rect类用与描述矩形区域:Rect(x,y,width,height)
- 1.3_创建游戏主窗口
- pygame.display.set_mode() 初始化游戏显示窗口
- pygame.display.update() 刷新屏幕内容显示,稍后使用
- set_mode(resolution=(0,0),flags=0,depth=0)
- resolution:指定屏幕的“宽”和“高”,默认创建的窗口大小和屏幕大小一样
- flags:参数指定屏幕的附加选项,例如是否全屏,默认不需要传递
- depth:参数表示颜色的位数,默认自动分配
- 返回值:必须要记录,因为后续图像绘制都基于这个返回结果
- 1.4_简单的游戏循环
- 为了维持游戏程序不退出,通常会在游戏程序中增加一个游戏循环,即一个无限循环
- while True: pass
- 1.1_游戏的初始化和退出
- 02_理解图像并实现图像绘制
- 使用pygame.image.load()加载图像的数据
- “.”表示当前路径:“./Image/background.png”
- 使用游戏屏幕对象,调用blit方法将图像绘制到指定位置
- 调用pygame.display.update()方法更新整个屏幕的显示
- 可以在screen对象完成所有blit方法后,统一调用一次display.update方法
- 使用pygame.image.load()加载图像的数据
- 03_理解游戏循环和游戏时钟
- 3.1_游戏中的动画实现原理
- 类似电影,快速在屏幕上绘制图像,每秒绘制若干帧(frame)
- 3.2_游戏循环
- 设置刷新帧率
- 检测用户交互
- 更新所有图像位置
- 更新屏幕显示
- 3.3_游戏时钟
- pygame.time.Clock
- 在游戏初始化创建一个时钟对象
- 在游戏循环中让时钟对象调用tick(帧率) 方法
- tick方法会根据上次被调用的时间,自动设置游戏循环中的延时
- pygame.time.Clock
- 3.4_英雄的简单动画实现
- 修改飞机位置,先重新绘制背景,再绘制飞机,最后update更新显示
- 3.5_在游戏循环中监听事件
- pygame.event.get()
- 捕获事件“列表”,可以利用len()判断
- pygame.event.get()
- 3.1_游戏中的动画实现原理
PYGAME学习笔记_01的更多相关文章
- pygame学习笔记(3)——时间、事件、文字
转载请注明:@小五义 http://www.cnblogs.com/xiaowuyi 1.运动速率 上节中,实现了一辆汽车在马路上由下到上行驶,并使用了pygame.time.delay(200 ...
- PyGame学习笔记之壹
新建窗口 代码 '''PyGame学习笔记之壹''' import pygame # 引入 PyGame 库 pygame.init() # PyGame 库初始化 screen = pygame.d ...
- pygame学习笔记(4)——声音
转载请注明:@小五义 http://www.cnblogs.com/xiaowuyi pygame.mixer是一个用来处理声音的模块,其含义为“混音器”.游戏中对声音的处理一般包括制造声音和播放声音 ...
- pygame学习笔记(5)——精灵
转载请注明:@小五义 http://www.cnblogs.com/xiaowuyi 据说在任天堂FC时代,精灵的作用相当巨大,可是那时候只知道怎么玩超级玛丽.魂斗罗,却对精灵一点也不知.pygame ...
- pygame学习笔记(1)——安装及矩形、圆型画图
pygame是一个设计用来开发游戏的python模块,其实说白了和time.os.sys都是一样的东东.今天开始正式学习pygame,下载地址:www.pygame.org.下载后安装完成即可,在py ...
- pygame学习笔记
pygame参考文档pdf版:pygame API html版 pygame API 石头剪子布的简单小游戏,待改进的地方,自适应大小.感兴趣的小伙伴可以依据get_surface()返回值(即当前窗 ...
- pygame学习笔记(6)——一个超级简单的游戏
转载请注明:@小五义 http://www.cnblogs.com/xiaowuyi 学了这么长时间的Pygame,一直想写个游戏实战一下.看起来很简单的游戏,写其来怎么这么难.最初想写个俄罗斯方块 ...
- pygame学习笔记(2)——从画点到动画
转载请注明:@小五义 http://www.cnblogs.com/xiaowuyi 1.单个像素(画点)利用pygame画点主要有三种方法:方法一:画长宽为1个像素的正方形 #@小五义 http:/ ...
- Lua的热更新学习笔记_01
热更新的的实现方式 1.使用lua脚本编写游戏的UI或者其他的逻辑 2.使用C#的反射技术 3.使用C#Light AssetBundle是什么? 1.unity提供一个资源更新技术,就是通过Asse ...
随机推荐
- Java 类型信息 —— 获取泛型类型的类对象(.class)
How to get a class instance of generics type T 考虑泛型类Foo<T>,在其成员中,如果想获取类型(type)T的类实例(class inst ...
- [置顶][终极精简版][图解]Nginx搭建flv mp4流媒体服务器
花了我接近3周,历经了重重问题,今日终于把流媒体服务器搞定,赶紧的写个博文以免忘记... 起初是跟着网上的一些教程来的,但是说的很不全面,一些东西也过时不用了(比如jwplayer老版本).我这次是用 ...
- bzoj 1657: [Usaco2006 Mar]Mooo 奶牛的歌声【单调栈】
先考虑只能往一边传播,最后正反两边就行 一向右传播为例,一头牛能听到的嚎叫是他左边的牛中与高度严格小于他并且和他之间没有更高的牛,用单调递减的栈维护即可 #include<iostream> ...
- P4244 [SHOI2008]仙人掌图 II
传送门 仙人掌直径,以前好像模拟赛的时候做到过一道基环树的直径,打了个很麻烦的然而还错了--今天才发现那就是这个的弱化版啊-- 如果是树的话用普通的dp即可,记\(f[u]\)表示\(u\)往下最长能 ...
- python自动化学习笔记11-自动化测试UTP框架
前面基本的unittest及ddt已经学过了,现在我们系统把这些知识结合起来,写一个简单的UTP自动化测试框架: 我们先来建基础目录,首先新建一个项目,项目下建父目录UTP,conf目录,用来存放配置 ...
- Linux系统编程---文件I/O(open、read、write、lseek、close)
文件描述符 定义:对内核而言,文件描述符相当于一个文件的标识,它是一个非负整数,当打开(open)一个现有文件或者创建(creat)一个新文件时,内核会向进程返回一个文件描述符 在unix中(文件描述 ...
- Lightoj 1020 - A Childhood Game (博弈)
题目链接: 1020 - A Childhood Game 题目描述: Alice和Bob在玩弹珠游戏,两人轮流拿走弹珠,每次只能拿走一个或者两个,当Alice作为先手时谁拿走最后一个就是输家,而Bo ...
- css为tbody或者li奇数偶数行样式
<style> table tbody tr:nth-child(odd){ background:#fff; } table tbody tr:nth-child(even){ back ...
- 289 Game of Life 生命的游戏
假设有一个大小为m*n的板子,有m行,n列个细胞.每个细胞有一个初始的状态,死亡或者存活.每个细胞和它的邻居(垂直,水平以及对角线).互动规则如下:1.当前细胞存活时,周围低于2个存活细胞时,该细胞死 ...
- Asp.net:MVC认识
用MVC框架好长一段时间,发现每天都是写业务代码,不想每天只为了工作而写代码,想把工作中认识的MVC框架,遇到的问题,有时候天天在用,但是不知道里面是什么东西,什么原理,为啥這样写等一系列问题.进行梳 ...