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

yipeiwu_com6年前Python基础

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()
           


效果图:

相关文章

基于python进行桶排序与基数排序的总结

本文首先举例阐述了两种排序方法的操作步骤,然后列出了用python进行的实现过程,最后对桶式排序方法的优劣进行了简单总结。 一、桶排序: 排序一个数组[5,3,6,1,2,7,5,10]...

使用python实现链表操作

使用python实现链表操作

一、概念梳理 链表是计算机科学里面应用应用最广泛的数据结构之一。它是最简单的数据结构之一,同时也是比较高阶的数据结构(例如棧、环形缓冲和队列) 简单的说,一个列表就是单数据通过索引集合在...

用tensorflow搭建CNN的方法

用tensorflow搭建CNN的方法

CNN(Convolutional Neural Networks) 卷积神经网络简单讲就是把一个图片的数据传递给CNN,原涂层是由RGB组成,然后CNN把它的厚度加厚,长宽变小,每做一...

python Flask实现restful api service

一直在用node.js做后端,要逐步涉猎大数据范围,注定绕不过python,因此决定把一些成熟的东西用python来重写,一是开拓思路、通过比较来深入学习python;二是有目标,有动力...

Python使用while循环花式打印乘法表

Python使用while循环花式打印乘法表

花式打印9*9乘法表 #第一个计数器 i = 1 while i < 10: #第二个计数器 j = 1 while j <= i: print('%...