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 相关文章推荐
合并Excel工作薄中成绩表的VBA代码,非常适合教育一线的朋友
Apr 09 Python
Python生成随机数的方法
Jan 14 Python
详尽讲述用Python的Django框架测试驱动开发的教程
Apr 22 Python
Python中time模块和datetime模块的用法示例
Feb 28 Python
Python3控制路由器——使用requests重启极路由.py
May 11 Python
利用python打印出菱形、三角形以及矩形的方法实例
Aug 08 Python
Python基于百度云文字识别API
Dec 13 Python
python  文件的基本操作 菜中菜功能的实例代码
Jul 17 Python
使用虚拟环境打包python为exe 文件的方法
Aug 29 Python
python使用yield压平嵌套字典的超简单方法
Nov 02 Python
python数据分析工具之 matplotlib详解
Apr 09 Python
Python实现Matplotlib,Seaborn动态数据图
May 06 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分页函数
2006/07/08 PHP
延长phpmyadmin登录时间的方法
2011/02/06 PHP
PHP实现图片裁剪、添加水印效果代码
2014/10/01 PHP
php中filter_input函数用法分析
2014/11/15 PHP
CI框架出现mysql数据库连接资源无法释放的解决方法
2016/05/17 PHP
自定义min版smarty模板引擎MinSmarty.class.php文件及用法
2016/05/20 PHP
2017年最新PHP经典面试题目汇总(上篇)
2017/03/17 PHP
laravel获取不到session的三种解决办法【推荐】
2018/09/16 PHP
使用Apache的rewrite
2021/03/09 Servers
poshytip 基于jquery的 插件 主要用于显示微博人的图像和鼠标提示等
2012/10/12 Javascript
js输出阴历、阳历、年份、月份、周示例代码
2014/01/29 Javascript
详解Angularjs在控制器(controller.js)中使用过滤器($filter)格式化日期/时间实例
2017/02/17 Javascript
ES6学习教程之对象的扩展详解
2017/05/02 Javascript
解决VUEX刷新的时候出现数据消失
2017/07/03 Javascript
使用bootstraptable插件实现表格记录的查询、分页、排序操作
2017/08/06 Javascript
基于vue实现web端超大数据量表格的卡顿解决
2019/04/02 Javascript
vue实现浏览器全屏展示功能
2019/11/27 Javascript
ant design 日期格式化的实现
2020/10/27 Javascript
Python中的exec、eval使用实例
2014/09/23 Python
Python编程入门之Hello World的三种实现方式
2015/11/13 Python
Python的requests网络编程包使用教程
2016/07/11 Python
关于django 数据库迁移(migrate)应该知道的一些事
2018/05/27 Python
Python wxPython库消息对话框MessageDialog用法示例
2018/09/03 Python
Python实现搜索算法的实例代码
2020/01/02 Python
详解Django配置JWT认证方式
2020/05/09 Python
python中os.remove()用法及注意事项
2021/01/31 Python
前端水印的简单实现代码示例
2020/12/02 HTML / CSS
.NET面试题:什么是反射
2016/09/30 面试题
自我评价怎么写好呢?
2013/12/05 职场文书
教育孩子心得体会
2014/01/01 职场文书
2014迎国庆演讲稿
2014/09/19 职场文书
2014镇党委班子对照检查材料思想汇报
2014/09/23 职场文书
党员批评与自我批评发言
2014/10/02 职场文书
求职导师推荐信范文
2015/03/27 职场文书
采购部2015年度工作总结
2015/07/24 职场文书
剑指Offer之Java算法习题精讲二叉树专项训练
2022/03/21 Java/Android