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

 更新时间:2015年04月15日 09:09:25   投稿:junjie  
这篇文章主要介绍了pygame学习笔记(1):矩形、圆型画图实例,本文讲解了pygame窗口、窗口退出、pygame中的颜色、圆形、矩形及一个完整实例,需要的朋友可以参考下

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


效果图:

相关文章

  • keras model.fit 解决validation_spilt=num 的问题

    keras model.fit 解决validation_spilt=num 的问题

    这篇文章主要介绍了keras model.fit 解决validation_spilt=num 的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-06-06
  • Python引用模块和查找模块路径

    Python引用模块和查找模块路径

    这篇文章主要介绍了Python引用模块和Python查找模块路径的相关资料,需要的朋友可以参考下
    2016-03-03
  • Python FastAPI Sanic Tornado 与Golang Gin性能实战对比

    Python FastAPI Sanic Tornado 与Golang Gin性能实战对比

    本文将深入比较Python的FastAPI、Sanic、Tornado以及Golang的Gin框架的各种特性、性能表现以及适用场景,通过详实的性能测试和实际示例代码,将探讨它们在构建现代高性能应用中的优劣势,以便开发者根据需求做出明智的选择
    2024-01-01
  • Django框架模板用法详解

    Django框架模板用法详解

    本文详细讲解了Django框架中模板的用法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-06-06
  • python 如何使用requests下载文件

    python 如何使用requests下载文件

    这篇文章主要介绍了python 如何使用requests下载文件,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-02-02
  • 懒人必备Python代码之自动发送邮件

    懒人必备Python代码之自动发送邮件

    在传统的工作中,发送会议纪要是一个比较繁琐的任务,需要手动输入邮件内容、收件人、抄送人等信息,每次发送都需要重复操作,不仅费时费力,而且容易出现疏漏和错误。本文就来用Python代码实现这一功能吧
    2023-05-05
  • Python内建数据结构详解

    Python内建数据结构详解

    本文给大家汇总介绍了Python中的5种内建数据结构以及操作示例,非常的详细,有需要的小伙伴可以参考下。
    2016-02-02
  • Django CBV与FBV原理及实例详解

    Django CBV与FBV原理及实例详解

    这篇文章主要介绍了Django CBV与FBV原理及实例详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-08-08
  • python实现word文档批量转成自定义格式的excel文档的思路及实例代码

    python实现word文档批量转成自定义格式的excel文档的思路及实例代码

    这篇文章主要介绍了python实现word文档批量转成自定义格式的excel文档的解决思路及实例代码,代码简单易懂,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-02-02
  • django 发送手机验证码的示例代码

    django 发送手机验证码的示例代码

    本篇文章主要介绍了django 发送手机验证码的示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-04-04

最新评论