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 06 Python
Python全局变量操作详解
Apr 14 Python
python创建列表和向列表添加元素的实现方法
Dec 25 Python
Python实现学生成绩管理系统
Apr 05 Python
python 遍历目录(包括子目录)下所有文件的实例
Jul 11 Python
flask-socketio实现WebSocket的方法
Jul 31 Python
python三引号输出方法
Feb 27 Python
Python基于BeautifulSoup和requests实现的爬虫功能示例
Aug 02 Python
python自动生成model文件过程详解
Nov 02 Python
python文件及目录操作代码汇总
Jul 08 Python
基于Python的身份证验证识别和数据处理详解
Nov 14 Python
利用Python将多张图片合成视频的实现
Nov 23 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 cache类代码(php数据缓存类)
2010/04/15 PHP
PHP模块 Memcached功能多于Memcache
2011/06/14 PHP
PHP开发者常犯的10个MySQL错误更正剖析
2012/01/30 PHP
php 操作调试的方法
2012/07/12 PHP
PHP常见漏洞攻击分析
2016/02/21 PHP
使用户点击后退按钮使效三行代码
2007/07/07 Javascript
Javascript 两个窗体之间传值实现代码
2009/09/25 Javascript
JQuery的Validation插件中Remote验证的中文问题
2010/07/26 Javascript
js 关键词高亮(根据ID/tag高亮关键字)案例介绍
2013/01/21 Javascript
JQuery的自定义事件代码,触发,绑定简单实例
2013/08/01 Javascript
ajax与302响应代码测试
2013/10/23 Javascript
node.js中的fs.link方法使用说明
2014/12/15 Javascript
jquery实现点击弹出带标题栏的弹出层(从右上角飞入)效果
2015/09/19 Javascript
requireJS使用指南
2016/04/27 Javascript
JavaScript的Backbone.js框架环境搭建及Hellow world示例
2016/05/07 Javascript
用nodejs搭建websocket服务器
2017/01/23 NodeJs
AngularJS 购物车全选/取消全选功能的实现方法
2017/08/14 Javascript
如何获取vue单文件自身源码路径
2019/05/06 Javascript
JavaScript实现的3D旋转魔方动画效果实例代码
2019/07/31 Javascript
举例讲解Python中的迭代器、生成器与列表解析用法
2016/03/20 Python
python生成tensorflow输入输出的图像格式的方法
2018/02/12 Python
python使用tomorrow实现多线程的例子
2019/07/20 Python
Python判断字符串是否xx开始或结尾的示例
2019/08/08 Python
使用Django搭建web服务器的例子(最最正确的方式)
2019/08/29 Python
python 串口读取+存储+输出处理实例
2019/12/26 Python
Python while循环使用else语句代码实例
2020/02/07 Python
Python Pandas 对列/行进行选择,增加,删除操作
2020/05/17 Python
解决python中import文件夹下面py文件报错问题
2020/06/01 Python
Python爬虫简单运用爬取代理IP的实现
2020/12/01 Python
css3实例教程 一款纯css3实现的环形导航菜单
2014/10/20 HTML / CSS
HTML5 video 事件应用示例
2014/09/11 HTML / CSS
学生学习总结的自我评价
2013/10/22 职场文书
颁奖典礼主持词
2014/03/25 职场文书
初中生旷课检讨书范文
2014/10/06 职场文书
高校自主招生校长推荐信
2015/03/23 职场文书
PyTorch 实现L2正则化以及Dropout的操作
2021/05/27 Python