pygame学习笔记(1):矩形、圆型画图实例


Posted in Python onApril 15, 2015

pygame是一个设计用来开发游戏的python模块,其实说白了和time、os、sys都是一样的东东。今天开始正式学习pygame,下载地址:www.pygame.org。下载后安装完成即可,在pygame的学习中,我使用了spe编辑器,感觉还不错。

1、pygame窗口

pygame绘制图形前,首先需要建立一个窗口,说来很简单,请看下面的代码,怎么样,是不是很简单。

import pygame  #这句不用注释了吧,呵呵

pygame.init()  #模块初始化,任何pygame程序均需要执行此句
screencaption=pygame.display.set_caption('hello world')#定义窗口的标题为'hello world'

screen=pygame.display.set_mode([640,480]) #定义窗口大小为640*480

screen.fill([255,255,255])#用白色填充窗口

2、窗口退出

pygame有一个事件循环,不断检查用户在做什么。事件循环中,如何让循环中断下来(pygame形成的窗口中右边的插号在未定义前是不起作用的),常用的代码如下:

while True:

    for event in pygame.event.get():

        if event.type==pygame.QUIT:

            sys.exit()
           
3、pygame中的颜色

在screen.fill([255,255,255])这一语句中,已经看出,pygame使用的是RGB系统。纯绿色用[0,255,0],纯蓝色用[0,0,255],纯红色用[255,0,0]。如果不使用RGB记法,pygame还提供了一个命名颜色列表,也可以直接使用这些命名颜色。定义好的颜色句有600多个,可以在colordict.py文件中查看具体名称。使用命名列表时,首先要在程序最前面导入THECOLORS。

from pygame.color import THECOLORS
然后使用某个命名颜色:

pygame.draw.circle(screen,THECOLORS["red"],[100,100],30,0)

4、圆形

pygame.draw.circle()用来画圆形,具体包括五个参数:(1)画圆的表面,在本例中用screen创建了一个窗口,所以是画在screen表面上。(2)用什么颜色来画,如用红色[255,0,0]。(3)在什么位置画,[top,left]。(4)直径。(5)线宽,其中0表示完成填充。

pygame.draw.circle(screen,[255,0,0],[100,100],30,0)

5、矩形
pygame.draw.rect()用来创建一个矩形。Rect(left,top,width,height)用来定义位置和宽高,具体代码如下:
pygame.draw.rect(screen,[255,0,0],[250,150,300,200],0)

也可以用下面的定义方法
rect_list=[250,150,300,200]

pygame.draw.rect(screen,[255,0,0],rect_list,0)

或者
my_rect=pygame.Rect(250,150,300,200)

pygame.draw.rect(screen,[255,0,0],my_rect,0)

6、实例

利用random模块随机生成大小和位置在表面上绘画,具体代码如下:

import pygame,sys

import time

import random
pygame.init()

screencaption=pygame.display.set_caption('hello world')

screen=pygame.display.set_mode([640,480])

screen.fill([255,255,255])

for i in range(10):

    zhijing=random.randint(0,100)

    width=random.randint(0,255)

    height=random.randint(0,100)

    top=random.randint(0,400)

    left=random.randint(0,500)

    pygame.draw.circle(screen,[0,0,0],[top,left],zhijing,1)

    pygame.draw.rect(screen,[255,0,0],[left,top,width,height],3)
pygame.display.flip()

while True:

    for event in pygame.event.get():

        if event.type==pygame.QUIT:

            sys.exit()

           

效果图:

pygame学习笔记(1):矩形、圆型画图实例

Python 相关文章推荐
python列表操作之extend和append的区别实例分析
Jul 28 Python
详解python中 os._exit() 和 sys.exit(), exit(0)和exit(1) 的用法和区别
Jun 23 Python
Python实现简单文本字符串处理的方法
Jan 22 Python
python os用法总结
Jun 08 Python
Python简单爬虫导出CSV文件的实例讲解
Jul 06 Python
Python判断字符串是否为字母或者数字(浮点数)的多种方法
Aug 03 Python
Python 处理图片像素点的实例
Jan 08 Python
Python设计模式之简单工厂模式实例详解
Jan 22 Python
利用Python进行图像的加法,图像混合(附代码)
Jul 14 Python
python中eval与int的区别浅析
Aug 11 Python
python爬取网易云音乐热歌榜实例代码
Aug 07 Python
Django利用elasticsearch(搜索引擎)实现搜索功能
Nov 26 Python
Python远程桌面协议RDPY安装使用介绍
Apr 15 #Python
在Gnumeric下使用Python脚本操作表格的教程
Apr 14 #Python
使用Python构建Hopfield网络的教程
Apr 14 #Python
使用C语言扩展Python程序的简单入门指引
Apr 14 #Python
在Python中封装GObject模块进行图形化程序编程的教程
Apr 14 #Python
用PyQt进行Python图形界面的程序的开发的入门指引
Apr 14 #Python
使用C语言来扩展Python程序和Zope服务器的教程
Apr 14 #Python
You might like
php使用CutyCapt实现网页截图保存的方法
2016/10/03 PHP
实现点击列表弹出列表索引的两种方式
2013/03/08 Javascript
Node.js生成HttpStatusCode辅助类发布到npm
2013/04/09 Javascript
纯js写的分页表格数据为json串
2014/02/18 Javascript
JavaScript 作用域链解析
2014/11/13 Javascript
JS实现从表格中动态删除指定行的方法
2015/03/31 Javascript
在JavaScript中处理时间之getHours()方法的使用
2015/06/10 Javascript
使用AngularJS对路由进行安全性处理的方法
2015/06/18 Javascript
JavaScript、jQuery与Ajax的关系
2016/01/24 Javascript
Vue.js组件tree实现无限级树形菜单
2016/12/02 Javascript
JavaScript实现经典排序算法之选择排序
2016/12/28 Javascript
jQuery表格(Table)基本操作实例分析
2017/03/10 Javascript
Cookies 和 Session的详解及区别
2017/04/21 Javascript
JavaScript设计模式之单例模式详解
2017/06/09 Javascript
express框架中使用jwt实现验证的方法
2019/08/25 Javascript
Javascript原型链及instanceof原理详解
2020/05/25 Javascript
Element-ui el-tree新增和删除节点后如何刷新tree的实例
2020/08/31 Javascript
[55:25]2018DOTA2亚洲邀请赛3月29日 小组赛A组 VG VS OG
2018/03/30 DOTA
python基于pdfminer库提取pdf文字代码实例
2019/08/15 Python
Python TCPServer 多线程多客户端通信的实现
2019/12/31 Python
PyCharm第一次安装及使用教程
2020/01/08 Python
python实现启动一个外部程序,并且不阻塞当前进程
2020/12/05 Python
基于HTML5+tracking.js实现刷脸支付功能
2020/04/16 HTML / CSS
行政助理岗位职责范文
2013/12/03 职场文书
写自荐信要注意什么
2013/12/26 职场文书
小松树教学反思
2014/02/11 职场文书
党校个人自我鉴定范文
2014/03/28 职场文书
学生个人自我鉴定范文
2014/03/28 职场文书
竞选班干部演讲稿300字
2014/08/20 职场文书
工作汇报开头与结尾怎么写
2014/11/08 职场文书
2014年业务员工作总结范文
2014/11/17 职场文书
护士自荐信怎么写
2015/03/06 职场文书
就业证明函
2015/06/17 职场文书
2016党员干部廉政准则学习心得体会
2016/01/20 职场文书
党员反四风学习心得体会
2016/01/22 职场文书
教育教学工作反思
2016/02/24 职场文书