让我们一起用Pygame Zero 画圆形
(空心圆圈、实心圆、多个小球、多层同心圆、随机颜色同心圆、有渐变效果填充圆)
本文目录:
零、时光宝盒
逆境清醒:https://blog.csdn.net/weixin_69553582
很多年前,我爸有次住院,那时医院没有配餐,都是病人家属送饭。那天,午餐时间,我和妈送饭给爸,同病室的病友都在吃各家家人送来的饭菜,唯有一个病床的病人没有,他很瘦,皮肤黝黑,一直在张望门口。后来,终于有他的家人来了,可能是他老婆吧,身材略胖,打扮得比较时髦。我记得她手里提着鼓鼓囊囊的袋子,我好奇她会准备什么给她先生吃,所以偷偷观察着,可出现的一幕令我至今难忘:她从袋子里拿出来一个月饼递给病床上的那个人,然后开始唠叨什么(方言我听不懂),而那个躺坐在病床上的人默默接过月饼开始吃,什么话也没说,但我看到了他眼里流下的泪,顺着脸庞悄悄流进嘴里,被那个人混着月饼一起吞进肚子里。。。
那时不是中秋节,中秋过了很久。那天后,每次吃饭时间前,那个病人都会借故离开病房,我猜他是不想看到别人都有热饭菜吃,而他。。。月饼属于高糖高脂食物,并不适合病人。他老婆可能不愿意花时间煮饭菜,所以用最简单的方法(买一个月饼)解决他的病用餐问题。对一个人是有真感情还是应付,一个月饼告诉了所有人答案。
最近演员王星泰缅边境失联事件,在营救王星的过程中,他的女友嘉嘉起到了很大作用,事情发生了,她没有慌乱只会哭,而是沉着冷静,思路清晰,勇敢果断。当然,这里面肯定有其他人的帮助。但,她对王星的感情是实实在在的,她没有在困难下轻易放弃男友。王星运气其实不算差,起码他能在发生危险前已经遇到了爱他珍惜他不轻易放弃他的人,这种运气不是人人都有。我没有福气等到我一直等的人出现,但我希望你们都能早日遇到懂得珍惜你们的人。
逆境清醒
2025.1.10
此文地址:https://blog.csdn.net/weixin_69553582/article/details/145061888
一、绘制空心圆圈
效果如下图所示:
代码如下:
import pgzrun
TITLE = "逆境清醒编程用法示例pgzrun——画圆形"
WIDTH = 300
HEIGHT = 300
def draw():
screen.fill('white')
screen.draw.circle((150, 150), 100, 'black')
pgzrun.go()
运行效果为在窗口中画了一个圆,
def draw():
表示定义了一个绘图函数,冒号后面的语句表示具体的绘制工作。
screen.fill('white')
screen.fill('white')语句中,screen表示屏幕,fill表示用括号里的颜色来填充整个背景画面。
代码表示显示背景是白色。
screen.draw.circle((150, 150), 100, 'black')
screen.draw.circle((150, 150), 100, 'black')语句绘制了一个圆圈。
其中screen表示屏幕,draw为绘制的英文单词,circle表示圆圈;
后面的3个参数,
(150, 150),表示圆的中心位置坐标,
100表示圆的半径,
'black'表示圆的颜色为黑色。
二、绘制实心圆
绘制实心圆,效果如下:
代码如下:
import pgzrun
TITLE = "逆境清醒编程用法示例pgzrun——画实心圆形"
WIDTH = 300
HEIGHT = 300
def draw():
screen.fill('white')
#画实心圆形
screen.draw.filled_circle((150, 150), 100, 'purple')
pgzrun.go()
运行代码,运行效果为在窗口中画了一个实心圆,
这里使用了filled_circle函数,filled_circle就是填充圆的意思。
screen.draw.filled_circle((150, 150), 100, 'purple')
其中screen表示屏幕,draw为绘制的英文单词,filled_circle表示填充圆;
后面的3个参数,
(150, 150),表示圆的中心位置坐标,
100表示圆的半径,
'purple'表示圆的颜色为黑色。
三、画多个静止小球
要画多个小球,我们需要了解一下zero坐标系,
Pygame Zero 的坐标系以左上角为原点 ( 0, 0 )
游戏窗口的绘制区域采用直角坐标系,左上角的坐标为(0,0)。
横轴方向由x坐标表示,取值范围为0到最大横坐标,例如x=800;
纵轴方向由y坐标表示,取值范围为0到最大纵坐标,例如y=600。
游戏窗口中任一点的位置可由其(x,y)坐标表示。
绘制多个静止实心圆,效果如下:
运行以下代码,即可在对应的坐标位置绘制出图所示的3个小球:
import pgzrun
TITLE = "逆境清醒编程用法示例pgzrun——画多个静止小球"
WIDTH = 500
HEIGHT = 300
def draw():
# 画多个静止小球
screen.fill('white')
screen.draw.filled_circle((100, 150), 50, 'red')
screen.draw.filled_circle((250, 150), 50, 'green')
screen.draw.filled_circle((400, 150), 50, 'blue')
pgzrun.go()
四、绘制多层同心圆
4.1、绘制5层同心圆
绘制5层同心圆,效果如下:
相关的代码如下:
import pgzrun
TITLE = "逆境清醒编程用法示例pgzrun——绘制多层同心圆"
WIDTH = 300
HEIGHT = 300
def draw():
# 绘制多层同心圆
screen.fill('white')
screen.draw.circle((150, 150), 20, 'black')
screen.draw.circle((150, 150), 40, 'black')
screen.draw.circle((150, 150), 60, 'black')
screen.draw.circle((150, 150), 80, 'black')
screen.draw.circle((150, 150), 100, 'black')
pgzrun.go()
4.2、绘制20层同心圆
绘制20个同心圆,效果如下图所示:
代码如下:
import pgzrun
TITLE = "逆境清醒编程用法示例pgzrun——绘制多层同心圆"
WIDTH = 400
HEIGHT = 400
def draw():
screen.fill('white')
# 绘制多层同心圆
for r in range(1, 201, 10):
screen.draw.circle((200,200), r, 'black')
pgzrun.go()
4.3、绘制条纹相间的同心圆
绘制绘制条纹相间的同心圆,效果如下图所示:
相关代码如下:
import pgzrun
TITLE = "逆境清醒编程用法示例pgzrun——绘制条纹相间的同心圆"
WIDTH =500
HEIGHT =500
def draw():
screen.fill('white')
for r in range(250, 0, -40):
screen.draw.filled_circle((250, 250), r, 'purple')
screen.draw.filled_circle((250, 250), r-20, 'white')
pgzrun.go()
4.4、绘制随机颜色的同心圆
效果如下图所示:
相关代码如下:
import pgzrun
import random
TITLE = "逆境清醒编程用法示例pgzrun——绘制随机颜色的同心圆"
WIDTH =500
HEIGHT =500
def draw():
screen.fill('white')
#绘制随机颜色的同心圆
for r in range(250, 0, -10):
screen.draw.filled_circle((250,250), r,\
(random.randint(0, 255), random.randint(0, 255),\
random.randint(0, 255)))
pgzrun.go()
五、绘制有渐变效果的填充圆
绘制有渐变效果的填充圆,效果如下图所示:
实现的代码为:
import pgzrun
TITLE = "逆境清醒编程用法示例pgzrun——绘制渐变圆球"
WIDTH =300
HEIGHT =300
def draw():
screen.fill('white')
#绘制渐变圆球
for r in range(128, 1, -5):
screen.draw.filled_circle((150, 150),r, (r, 0,r))
pgzrun.go()
调整代码,我们还可以做出其他效果,例如实现有立体效果的小球,如下图所示:
推荐阅读:
逆境清醒文章总目录表
| | |
给照片换底色(python+opencv) | 猫十二分类 | 基于大模型的虚拟数字人__虚拟主播实例 |
计算机视觉__基本图像操作(显示、读取、保存) | 直方图(颜色直方图、灰度直方图) | 直方图均衡化(调节图像亮度、对比度) |
逆境清醒
逆境清醒
2024年12月多家权威机构____编程语言排行榜__薪酬状况 | ||
| ||
【CSDN云IDE】个人使用体验和建议(含超详细操作教程)(python、webGL方向) | ||
逆境清醒
逆境清醒
| | |
逆境清醒