源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

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

  • 时间:2021-07-12 15:16 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:pygame学习笔记(1):矩形、圆型画图实例
pygame是一个设计用来开发游戏的python模块,其实说白了和time、os、sys都是一样的东东。今天开始正式学习pygame,下载地址:[url=http://www.pygame.org]www.pygame.org[/url]。下载后安装完成即可,在pygame的学习中,我使用了spe编辑器,感觉还不错。 [b]1、pygame窗口[/b] pygame绘制图形前,首先需要建立一个窗口,说来很简单,请看下面的代码,怎么样,是不是很简单。
[u]复制代码[/u] 代码如下:
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])#用白色填充窗口
[b]2、窗口退出[/b] pygame有一个事件循环,不断检查用户在做什么。事件循环中,如何让循环中断下来(pygame形成的窗口中右边的插号在未定义前是不起作用的),常用的代码如下:
[u]复制代码[/u] 代码如下:
while True:     for event in pygame.event.get():         if event.type==pygame.QUIT:             sys.exit()
            [b]3、pygame中的颜色[/b] 在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 然后使用某个命名颜色:
[u]复制代码[/u] 代码如下:
pygame.draw.circle(screen,THECOLORS["red"],[100,100],30,0)
[b]4、圆形[/b] pygame.draw.circle()用来画圆形,具体包括五个参数:(1)画圆的表面,在本例中用screen创建了一个窗口,所以是画在screen表面上。(2)用什么颜色来画,如用红色[255,0,0]。(3)在什么位置画,[top,left]。(4)直径。(5)线宽,其中0表示完成填充。
[u]复制代码[/u] 代码如下:
pygame.draw.circle(screen,[255,0,0],[100,100],30,0)
[b]5、矩形 [/b]pygame.draw.rect()用来创建一个矩形。Rect(left,top,width,height)用来定义位置和宽高,具体代码如下:
[u]复制代码[/u] 代码如下:
pygame.draw.rect(screen,[255,0,0],[250,150,300,200],0)
也可以用下面的定义方法
[u]复制代码[/u] 代码如下:
rect_list=[250,150,300,200] pygame.draw.rect(screen,[255,0,0],rect_list,0)
或者
[u]复制代码[/u] 代码如下:
my_rect=pygame.Rect(250,150,300,200) pygame.draw.rect(screen,[255,0,0],my_rect,0)
[b]6、实例[/b] 利用random模块随机生成大小和位置在表面上绘画,具体代码如下:
[u]复制代码[/u] 代码如下:
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()            
效果图: [img]http://files.jb51.net/file_images/article/201504/201541590620864.jpg?20153159713[/img]
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部