使用pygame.draw绘制基本图形

import pygame# 初始化pygame
pygame.init()# 创建显示窗口
screen = pygame.display.set_mode((640, 480))
pygame.display.set_caption("绘制基本图形")# 定义颜色
BLACK = (0, 0, 0)
WHITE = (255, 255, 255)
RED = (255, 0, 0)
GREEN = (0, 255, 0)
BLUE = (0, 0, 255)# 绘制直线
pygame.draw.line(screen, BLUE, (0, 0), (640, 480), 5)# 绘制折线
points = [(50, 50), (100, 100), (150, 50), (200, 100), (250, 50)]
pygame.draw.lines(screen, GREEN, False, points, 3)# 绘制三角形
triangle_points = [(300, 50), (350, 150), (250, 150)]
pygame.draw.polygon(screen, RED, triangle_points, 0)# 绘制矩形
rect = pygame.Rect(400, 50, 100, 100)
pygame.draw.rect(screen, BLUE, rect, 2)# 绘制圆形
pygame.draw.circle(screen, GREEN, (550, 100), 50, 0)# 绘制椭圆形
ellipse_rect = pygame.Rect(50, 250, 200, 100)
pygame.draw.ellipse(screen, RED, ellipse_rect, 3)# 绘制弧线
arc_rect = pygame.Rect(350, 250, 100, 100)
pygame.draw.arc(screen, BLUE, arc_rect, 0, 3.14, 2)# 刷新屏幕
pygame.display.flip()# 等待退出
while True:for event in pygame.event.get():if event.type == pygame.QUIT:pygame.quit()exit()

这段代码使用了Python的Pygame库来绘制几种基本图形。它首先通过初始化Pygame来确保可以使用其功能。然后,它创建了一个640x480像素大小的显示窗口,并设置了窗口标题为"绘制基本图形"。

代码中定义了一些颜色常量,如黑色、白色、红色、绿色和蓝色,用于绘制图形时指定颜色。

接下来,代码使用Pygame提供的函数绘制了几种基本图形。它绘制了一条直线,一条折线,一个三角形,一个矩形,一个圆形和一个椭圆形。每个图形都可以指定颜色、位置、尺寸和线宽等属性。

最后,代码通过调用pygame.display.flip()刷新屏幕,将所有的图形绘制到屏幕上,并更新显示。然后,它进入一个无限循环,等待用户关闭窗口。当用户点击窗口的关闭按钮时,程序会退出Pygame并终止程序运行。

这段代码可以作为一个简单的示例,展示了如何使用Pygame库来绘制基本图形,并且可以通过修改参数来实现各种不同的效果。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/338724.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

AMD SEV基本原理

AMD SEV基本原理 背景SMEArchC-bitSME-MKInterfaceSMESME-MK SEVArchInterface SEV APIKey ManagementGuest PolicyMailbox Register ProtocolPlatform Management APIGuest Management API 背景 TODO SME SME(Secure Memory Encryption)是AMD内存加密…

Spark与Kafka的集成与流数据处理

Apache Spark和Apache Kafka是大数据领域中非常流行的工具,用于数据处理和流数据处理。本文将深入探讨如何在Spark中集成Kafka,并演示如何进行流数据处理。将提供丰富的示例代码,以帮助大家更好地理解这一集成过程。 Spark与Kafka的基本概念…

GC6109——双通道5V低电压步进电机驱动芯片,低噪声、低振动,应用摄像机,机器人等产品中

GC6109是双通道5V低电压步进电机驱动器,具有低噪声、低振动的特点,特别适用于相机的变焦和对焦系统,万向节和其他精密、低噪声的STM控制系统。该芯片为每个通道集成了256微步驱动器。带SPl接口,用户可以方便地调整驱动器的参数。内…

详细讲解MybatisPlus实现逻辑删除

目录 前言1. 基本知识2. 实战Demo3. 拓展 前言 对于MybatisPlus的相关知识可在我的博客进行搜索 对应的CRUD相关知识也可看我这篇文章:【Java项目】实战CRUD的功能整理(持续更新) 在讲述逻辑删除这个概念时,先引入另外一个概念&…

FineBI实战项目一(14):订单销售总额/总数分析开发

点击添加组件按钮,打开组件页面。 设置组件的属性,比如图标样式,指针值,目标值、颜色、大小、标签等。 点击下方切换到仪表盘。 点击仪表板中的左上方组件,添加组件到仪表盘。 编辑标题 第一个组件成功添加到仪表板。

高级分布式系统-第3讲 网络与网络互联

万维网的诞生 1957年10月4日, 苏联发射了人类第一颗人造卫星—斯普特尼克一号 美国政府震惊不已。 他们认为, 在日趋激烈的冷战对抗中, 自己已经全面落后于苏联。 为了扭转这一局面, 美国国防部很快于1958 年 2 月组建了一个神秘…

Magics 教程

文章目录 基本流程基本操作页面的介绍基本操作 基本流程 基本操作 页面的介绍 右侧是工具页,可以直接进行调整,也可以在选项&帮助->自定义用户界面 那里进行相关的调整 基本操作 直接拖动鼠标左键:选中物体鼠标右键: 长按…

解决JuPyter500:Internal Server Error问题

目录 一、问题描述 二、问题原因 三、解决方法 四、参考文章 一、问题描述 在启动Anaconda Prompt后,通过cd到项目文件夹启动Jupyter NoteBook点击.ipynb文件发生500报错。 二、问题原因 base环境下输入指令: jupyter --version 发现jupyter环境…

【数据库系统概论】期末复习2

系列文章 期末复习1 系列文章定义并理解下列术语,说明它们之间的联系与区别试述关系模型的完整性规则。在参照完整性中,什么情况下外码属性的值可以为空值?关系代数 定义并理解下列术语,说明它们之间的联系与区别 (1…

设计模式篇章(3)——七种结构型模式

结构型设计模式主要思考的是如何将对象进行合理的布局来组成一个更大的功能体或者结构体,这个现在讲有点抽象,用大白话讲就是利用现有的对象进行组合或者配合,使得组合后的这个系统更加好。好是相对于不使用设计模式,按照自己的堆…

安装ubuntu22.04系统,GPU驱动,cuda,cudnn,python环境,pycharm

需要准备一个u盘,需要格式化,且内存不小于8g 1 下载ubuntu镜像 下载链接: https://cn.ubuntu.com/download/desktop 2下载rufus Rufus - 轻松创建 USB 启动盘Rufus: Create bootable USB drives the easy wayhttps://rufus.ie/zh/ 准备好这…

章鱼网络 2023 年全回顾|暨12月进展报告

2023年,章鱼网络轻装上阵,身处加密行业的低谷中砥砺前行。 12月17日,经过整整1年时间的开发和打磨,章鱼网络在重磅上线 Octopus 2.0,即 $NEAR Restaking 和 NEAR-IBC,获得了社区和市场的一致认可&#xff…