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执行外部程序的常用方法小结
Mar 21 Python
Python使用微信SDK实现的微信支付功能示例
Jun 30 Python
python用户评论标签匹配的解决方法
May 31 Python
Python实现的简单读写csv文件操作示例
Jul 12 Python
python pygame实现2048游戏
Nov 20 Python
Python + selenium + requests实现12306全自动抢票及验证码破解加自动点击功能
Nov 23 Python
Python用input输入列表的实例代码
Feb 07 Python
Python opencv相机标定实现原理及步骤详解
Apr 09 Python
python opencv图像处理(素描、怀旧、光照、流年、滤镜 原理及实现)
Dec 10 Python
python绘制雷达图实例讲解
Jan 03 Python
Django操作cookie的实现
May 26 Python
Python实现批量将文件复制到新的目录中再修改名称
Apr 12 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下使用无限生命期Session的方法
2007/03/16 PHP
PHP 服务器配置(使用Apache及IIS两种方法)
2009/06/01 PHP
PHP JSON 数据解析代码
2010/05/26 PHP
PHP QRCODE生成彩色二维码的方法
2016/05/19 PHP
php处理静态页面:页面设置缓存时间实例
2017/06/22 PHP
在textarea中显示html页面的javascript代码
2007/04/20 Javascript
通过DOM脚本去设置样式信息
2010/09/19 Javascript
jquery中.add()的使用分析
2013/04/26 Javascript
加载列表时jquery获取ul中第一个li的属性
2014/11/02 Javascript
JS实现网页每隔3秒弹出一次对话框的方法
2015/11/09 Javascript
javascript DIV实现跟随鼠标移动
2020/03/19 Javascript
原生JavaScript实现动态省市县三级联动下拉框菜单实例代码
2016/02/03 Javascript
JQuery对ASP.NET MVC数据进行更新删除
2016/07/13 Javascript
Centos7 中 Node.js安装简单方法
2016/11/02 Javascript
js 输入框 正则表达式(菜鸟必看教程)
2017/02/19 Javascript
NodeJS学习笔记之Module的简介
2017/03/24 NodeJs
Angular 开发学习之Angular CLI的安装使用
2017/12/31 Javascript
深入浅析vue中cross-env的使用
2019/09/12 Javascript
微信小程序接入vant Weapp组件的详细步骤
2020/10/28 Javascript
[06:15]2016国际邀请赛中国区预选赛单车采访:我顶WINGS
2016/06/27 DOTA
[01:00]一分钟回顾2018DOTA2亚洲邀请赛现场活动
2018/04/07 DOTA
python3.5 + PyQt5 +Eric6 实现的一个计算器代码
2017/03/11 Python
Python request设置HTTPS代理代码解析
2018/02/12 Python
Python学习笔记之open()函数打开文件路径报错问题
2018/04/28 Python
Windows下将Python文件打包成.EXE可执行文件的方法
2018/08/03 Python
python保存二维数组到txt文件中的方法
2018/11/15 Python
详解Python匿名函数(lambda函数)
2019/04/19 Python
通过PYTHON来实现图像分割详解
2019/06/26 Python
Canvas与Image互相转换示例代码
2013/08/09 HTML / CSS
Spartoo葡萄牙鞋类网站:线上销售鞋履与时尚配饰
2017/01/11 全球购物
GafasWorld哥伦比亚:网上购买眼镜
2017/11/28 全球购物
澳大利亚在线划船、露营和钓鱼商店:BCF Australia
2020/03/22 全球购物
党员自我剖析材料(群众路线)
2014/10/06 职场文书
房屋财产继承协议书范本
2014/11/03 职场文书
民主生活会主持词
2015/07/01 职场文书
女性健康讲座主持词
2015/07/04 职场文书