优草派 > Python

如何使用python画满屏爱心?绘制动态满屏爱心方法

王涵         优草派

学习了这么久的python,有没有小伙伴想要编写一些浪漫一点的程序代码呢,为了提升大家的学习兴趣,小编这就来帮助大家了,接下来的这篇文章就来教大家编写动态满屏爱心的代码,大家可以马上动手操作起来啦。

如何使用python画满屏爱心?绘制动态满屏爱心方法

画爱心的方法有很多,在前面的讲解海龟绘图知识点的文章中小编就有和大家举过画爱心的例子。在接下来的这一个代码中要实现非常多的爱心一起出现就需要使用一些简单的画爱心方式来进行,这样执行的速度就会更加的快。我们先来定义一个爱心类,这样在后面的调用就会非常的方便,绘制出这一个粉色的大爱心代码如下:

from math import sqrt
from turtle import *
class Heart:
def __init__(self, x, y, size):
self.size = size 
self.speed = size
t = Turtle(visible=False, shape='circle')
t.shapesize(size, size)
color = (1, 1- size/4, 1-size/4)
t.pencolor(color)t.fillcolor(color)
t.penup()
self.circle1 = t.clone()
self.circle1.goto(x-sqrt(size*size*160)/2, y)self.circle2 = t.clone()
self.circle2.goto(x+sqrt(size*size*160)/2, y)self.square = t.clone()
self.square.shape("square")
self.square.setheading(45)
self.square.goto(x, y-sqrt(size * size * 160)/2)self.circle1.showturtle()
self.circle2.showturtle()
self.square.showturtle()

随后创建出一个列表,用来存放不同的爱心,从主函数中随即生成30个大小位置不同的爱心,并把它们存放在列表中,代码块如下:

loves = []
for i in range(30):
love = Love(width/2 + randint(1, width), randint(-height/2,height/2), random()*3)
loves.append(love)

下面就是要获得爱心的动态效果,还需要让所有的爱心进入无限的循环,进行重复的移动,所以代码应该试一下这样:

def move(self):
self.circle1.setx(self.circle1.xcor()-self.speed)
self.square.setx(self.square.xcor() - self.speed)
self.circle2.setx(self.circle2.xcor() - self.speed)while True:
for love in loves:
love.move()

写到这一步,代码就差不多了,此时运行就可以发现爱心有了动态运行的效果,但是还需要完善一下,让代码能够有效的运用起来从而不需要 再增加新的代码来使得爱心增加,就可以把移动过的爱心放到指定的位置,然后下一次再继续使用,那么代码如下所示:

def moveTo(self, x, y):
self.circle1.hideturtle()
self.circle2.hideturtle()
self.square.hideturtle()
self.circle1.goto(x - sqrt(self.size * self.size * 160) / 2, y)
self.circle2.goto(x + sqrt(self.size * self.size * 160) / 2, y)
self.square.goto(x, y - sqrt(self.size * self.size * 160) / 2)
self.circle1.showturtle()
self.circle2.showturtle()
self.square.showturtle()
while True:
for love in loves:
love.move()
if love.square.xcor() < -width / 2:
love.moveTo(width / 2 + randint(1, width), randint(-height / 2, height / 2))

此时运行代码就可以发现所有的爱心动了起来,就已经达到了自己的预期效果。以上就是关于python编写动态满屏爱心的代码,大家可以动手进行实操啦。

  • 微信好友

  • 朋友圈

  • 新浪微博

  • QQ空间

  • 复制链接

取消
5天短视频训练营
新手入门剪辑课程,零基础也能学
分享变现渠道,助你兼职赚钱
限时特惠:0元
立即抢
新手剪辑课程 (精心挑选,简单易学)
第一课
新手如何学剪辑视频? 开始学习
第二课
短视频剪辑培训班速成是真的吗? 开始学习
第三课
不需要付费的视频剪辑软件有哪些? 开始学习
第四课
手机剪辑app哪个好? 开始学习
第五课
如何做短视频剪辑赚钱? 开始学习
第六课
视频剪辑接单网站APP有哪些? 开始学习
第七课
哪里可以学短视频运营? 开始学习
第八课
做短视频运营需要会什么? 开始学习
【原创声明】凡注明“来源:优草派”的文章,系本站原创,任何单位或个人未经本站书面授权不得转载、链接、转贴或以其他方式复制发表。否则,本站将依法追究其法律责任。

客服热线:0731-85127885

湘ICP备19005950号-1  

工商营业执照信息

违法和不良信息举报

举报电话:0731-85127885 举报邮箱:tousu@csai.cn

优草派  版权所有 © 2024