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中IPYTHON入门实例
May 11 Python
python3 shelve模块的详解
Jul 08 Python
python对配置文件.ini进行增删改查操作的方法示例
Jul 28 Python
基于python时间处理方法(详解)
Aug 14 Python
Python获取CPU、内存使用率以及网络使用状态代码
Feb 08 Python
Python实现随机生成手机号及正则验证手机号的方法
Apr 25 Python
使用python爬取抖音视频列表信息
Jul 15 Python
使用Pandas将inf, nan转化成特定的值
Dec 19 Python
Python面向对象原理与基础语法详解
Jan 02 Python
Python利用 utf-8-sig 编码格式解决写入 csv 文件乱码问题
Feb 21 Python
python GUI库图形界面开发之PyQt5中QMainWindow, QWidget以及QDialog的区别和选择
Feb 26 Python
Python Selenium破解滑块验证码最新版(GEETEST95%以上通过率)
Jan 29 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 超链接 抓取实现代码
2009/06/29 PHP
php中通过curl检测页面是否被百度收录
2013/09/27 PHP
PHP使用pdo实现事务处理操作示例
2018/09/05 PHP
PHP中检查isset()和!empty()函数的必要性
2019/02/13 PHP
用Javascript实现UTF8编码转换成gb2312编码
2006/12/22 Javascript
fckeditor 获取文本框值的实现代码
2009/02/09 Javascript
javaScript 页面自动加载事件详解
2014/02/10 Javascript
常见浏览器多长时间会提示“脚本运行时间过长”总结
2014/04/29 Javascript
JavaScript的jQuery库中function的存在和参数问题
2015/08/13 Javascript
jquery+CSS实现的水平布局多级网页菜单效果
2015/08/24 Javascript
JQuery.validate在ie8下不支持的快速解决方法
2016/05/18 Javascript
js实现文本上下来回滚动
2017/02/03 Javascript
Bootstrap常用组件学习(整理)
2017/03/24 Javascript
从0到1搭建Element的后台框架的方法步骤
2019/04/10 Javascript
详解在Javascript中进行面向切面编程
2019/04/28 Javascript
中高级前端必须了解的JS中的内存管理(推荐)
2019/07/04 Javascript
javascript设计模式 ? 适配器模式原理与应用实例分析
2020/04/13 Javascript
Python运算符重载用法实例
2015/05/28 Python
Python编程argparse入门浅析
2018/02/07 Python
Python中的上下文管理器和with语句的使用
2018/04/17 Python
Python之修改图片像素值的方法
2019/07/03 Python
python 图像插值 最近邻、双线性、双三次实例
2020/07/05 Python
python中关于数据类型的学习笔记
2020/07/19 Python
用CSS3实现Win8风格的方格导航菜单效果
2013/04/10 HTML / CSS
HTML5超炫酷粒子效果的进度条的实现示例
2019/08/23 HTML / CSS
FC-Moto瑞典:欧洲最大的摩托车服装和头盔商店之一
2018/11/27 全球购物
美国浴缸、水槽和水龙头购物网站:Vintage Tub & Bath
2019/11/05 全球购物
班干部竞选演讲稿
2014/04/24 职场文书
三八红旗手先进事迹材料
2014/05/13 职场文书
乡镇党员干部四风对照检查材料思想汇报
2014/09/27 职场文书
2015年世界水日活动总结
2015/02/09 职场文书
公司慰问信范文
2015/03/23 职场文书
试用期解除劳动合同通知书
2015/04/16 职场文书
2015年国培研修感言
2015/08/01 职场文书
公司周年庆寄语
2019/06/21 职场文书
如何用H5实现好玩的2048小游戏
2022/07/23 HTML / CSS