目录

系列文章

前言

小海龟

漂浮爱心

完整代码

尾声


系列文章

序号 直达链接
表白系列
1 Python无法拒绝的表白界面(完整代码)_python玫瑰花雨编程-CSDN博客
2 Python满屏飘字表白代码(完整代码)_抖音同款满屏飘字表白代码(python版)-CSDN博客
3 Python无限弹窗满屏表白代码(完整代码)_python弹窗满屏幕-CSDN博客
4 Python李峋同款跳动的爱心(完整代码)_python绘制立体玫瑰花-CSDN博客
5 Python流星雨①(完整代码)_python流星雨代码-CSDN博客
6 Python漂浮爱心(完整代码)_csdn-CSDN博客
7 Python爱心光波①(完整代码)-CSDN博客
8 Python红色玫瑰花(完整代码)_python玫瑰花简单代码-CSDN博客
节日系列
1 Python动漫烟花(完整代码)_python编程画懒羊羊-CSDN博客
Python跨年烟花(完整代码)_python跨年代码-CSDN博客
Python粒子烟花(完整代码)_python粒子特效代码-CSDN博客
2 Python圣诞礼物(完整代码)_python圣诞节代码-CSDN博客
Python精美圣诞树(完整代码)_圣诞树代码python合集-CSDN博客
Python礼物圣诞树(完整代码)_绿色圣诞树代码-CSDN博客
Python粉色圣诞树(完整代码)_跳动爱心代码-CSDN博客
3 Python白色飘雪(完整代码)_python结婚祝福-CSDN博客
4 Python生日蛋糕(完整代码)_python tkinter 列表控件-CSDN博客
5 Python五彩气球(完整代码)_want595-CSDN博客
6 Python国庆祝福(完整代码)_tk.radiobutton控件-CSDN博客
7 Python万圣礼物(完整代码)_python tkinter menu背景颜色无效-CSDN博客
8 Python愚人代码(完整代码)_tkinter 点击button 才显示lab-CSDN博客
9 Python浪漫星空(完整代码)_python浪漫星空代码-CSDN博客
10 Python樱花树(完整代码)_tk, text, entry-CSDN博客
动漫系列
1 Python名侦探柯南(完整代码)_python画柯南-CSDN博客
2 Python喜羊羊(完整代码)_python喜洋洋代码-CSDN博客
Python懒羊羊(完整代码)_python编程画懒羊羊-CSDN博客
Python灰太狼(完整代码)_用python画灰太狼-CSDN博客
Python小灰灰(完整代码)_python画灰太狼儿子代码-CSDN博客
Python小香香(完整代码)_动漫代码大全可复制-CSDN博客
3 Python海绵宝宝(完整代码)_海绵宝宝编程代码-CSDN博客
4 Python哆啦A梦①(完整代码)_二次元动漫片段代码-CSDN博客
5 Python凯蒂猫(完整代码)_猫的代码-CSDN博客
6 Python猫和老鼠(完整代码)_用python画杰瑞-CSDN博客
7 Python开心消消乐小游戏(完整代码)_python草莓熊代码-CSDN博客
8 Python皮卡丘①(完整代码)_用python画皮卡丘的代码-CSDN博客
Python皮卡丘②(完整代码)-CSDN博客
Python皮卡丘③(完整代码)_pycharm生成比卡丘动画代码-CSDN博客
炫酷系列
1   Python大雪纷飞(完整代码)_张万森 python-CSDN博客
Python一闪一闪亮晶晶(完整代码)_python实现星星闪烁-CSDN博客
2 Python黑客帝国字母雨(完整代码)_黑客python二进制雨-CSDN博客
3 Python七彩花朵(完整代码)_利用python 代码画满屏飘七彩花朵-CSDN博客
4 Python模拟星空(完整代码)_python星空特效代码-CSDN博客
5 Python金榜题名(完整代码)_金榜题名代码-CSDN博客
6 Python满天繁星(完整代码)_星星代码-CSDN博客
……

前言

Python绘制漂浮爱心的代码。

小海龟

老生常谈啦,在用python画樱花树前,我们先来了解一下turtle吧!

小海龟(Turtle)是Python中画图的一个重要的包(内置包),里面包含丰富的画图工具以及画图的各种功能,当你学会了用Turtle画图后,你可以画任何你想画的图案哦。

1.1 Turtle画板
Turtle的画板大小可以用turtle.screensize()函数来设置

turtle.screensize(width,height,bg)

设置画板的大小,包含宽和高,width为宽,height为高,bg为画布颜色

1.2 Turtle画笔
Turtle的画笔有几个常用的函数:

①turtle.penup():抬起画笔,此时移动画笔不会在画布上留下痕迹哦
②turtle.pendown():放下画笔,与turtle.penup相对应,放下画笔后就可以继续画画了(放下画笔后画画会在画布上留下痕迹)
③turtle.pensize():控制画笔的大小(可以根据需求自行定义画笔的大小哦)
④turtle.pencolor():控制画笔的颜色(可以自己在网上查阅所有python可以使用的颜色,python里面可以用的颜色有很多的哦)
⑤turtle.hideturtle():隐藏画笔(隐藏画笔以后画图时画笔就看不到了)

1.3 Turtle画图
在画图的过程中,我们经常要使用一些简单的移动函数:

①turtle.forward(x):将画笔向前移动x个像素(x可以理解为距离)
②turtle.backward(x):将画笔向后退x个像素(x可以理解为距离)
③turtle.left(n):将画笔向左旋转n度
④turtle.right(n):将画笔向右旋转n度
⑤turtle.speed():设置画笔画图的速度(1~10递增,0最快)

1.4 Turtle填色
在画好图后,我们经常需要对其进行填色,这里可以用turtle.fillcolor()函数,括号里写入你想填充的颜色即可。
在使用turtle.fillcolor()函数要注意其基本格式:

turtle.beginfill()     #开始填充
turtle.fillcolor()      #输入填充的颜色
turtle.endfill()        #结束填充

1.5 Turtle写字
在完成整个画图后,我们可以使用turtle.write()函数进行写字

turtle.write(" ",move,align,font)

① 第一个位置双引号内填入要写的字
② move(可选):在默认情况下,move为false。如果move为true,则笔将移动到右下角
③ align(可选):可取值是left即左、center即中、right即右之一,是字符串格式
④ font(可选):字体三元组(fontname、fontsize、fonttype),fontname即字体名称(字符串格式,如“宋体”),fontsize即字体大小),fonttype即字体类型如:normal(普通)、bold(粗体)、italic(斜体)

漂浮爱心

爱心类 

class Heart():    #每个爱心(爱心类)
    def __init__(self):
        self.r = ra.randint(10,15)        #爱心的半径
        self.x = ra.randint(-1000,1000)   #爱心的横坐标
        self.y = ra.randint(-500,500)     #爱心的纵坐标
        self.f = ra.uniform(-3.14,3.14)   #爱心左右移动呈正弦函数
        self.speed = ra.randint(5,10)     #爱心移动速度
        self.color = ra.choice(colors)    #爱心的颜色
        self.outline = 1                  #爱心的外框大小(可不要) 

这段代码定义了一个名为Heart的类,该类表示一个爱心对象。在初始化方法__init__中,每个爱心对象都具有以下属性:

  • r: 表示爱心的半径,随机生成在10到15之间的整数。
  • x: 表示爱心的横坐标,随机生成在-1000到1000之间的整数。
  • y: 表示爱心的纵坐标,随机生成在-500到500之间的整数。
  • f: 表示爱心左右移动的正弦函数,随机生成在-3.14到3.14之间的浮点数。
  • speed: 表示爱心移动的速度,随机生成在5到10之间的整数。
  • color: 表示爱心的颜色,随机选择一个颜色。
  • outline: 表示爱心的外框大小,为默认值1(可不要)。
  • 这段代码是用于创建爱心对象的模板,每个实例化的爱心对象都会根据这些属性随机生成不同的值,以用于绘制多个不同特征的爱心。

    爱心函数 

      def draw(self):       #画爱心函数,就是用turtle画爱心
            t.pensize(self.outline)
            t.penup()
            t.color(self.color)
            t.goto(self.x, self.y)
            t.pendown()
            t.begin_fill()
            t.fillcolor('pink')
            t.setheading(120)
            t.circle(self.r, 195)
            t.fd(self.r * 2.4)
            t.lt(90)
            t.fd(self.r * 2.4)
            t.circle(self.r, 195)
            t.end_fill() 

    这段代码定义了一个名为draw的方法,用于在Turtle图形库中绘制爱心形状。具体绘制的步骤包括:

    1. 设置画笔大小为self.outline
    2. 抬起画笔。
    3. 设置画笔颜色为self.color,将画笔移动到爱心的起始位置(self.x, self.y)
    4. 落下画笔。
    5. 开始填充颜色,填充颜色设置为粉色'pink'。
    6. 设置Turtle方向为120度。
    7. 绘制半圆形状,半径为self.r,角度为195度。
    8. 向前移动self.r * 2.4个单位长度。
    9. 左转90度。
    10. 再次向前移动self.r * 2.4个单位长度。
    11. 绘制第二个半圆形状,半径为self.r,角度为195度。
    12. 结束填充颜色。

    这个draw方法实现了用Turtle图形库绘制爱心的功能,通过调用这个方法可以在图形界面上绘制出具有随机属性的爱心。

    漂浮函数

        def move(self):                    #爱心移动函数
            if self.y <= 500:            #当爱心还在画布中时
                self.y += self.speed     #设置上下移动速度
                self.x += self.speed * math.sin(self.f)    #设置左右移动速度
                self.f += 0.1            #可以理解成标志,改变左右移动的方向
            else:                        #当爱心漂出了画布时,重新生成一个爱心
                self.r = ra.randint(10,15)        
                self.x = ra.randint(-1000,1000)
                self.y = -500
                self.f = ra.uniform(-3.14,3.14)
                self.speed = ra.randint(5,10)
                self.color = ra.choice(colors)
                self.outline = 1  

    这段代码定义了一个名为move的方法,用于控制爱心的移动。具体实现如下:

    1. 检查爱心是否仍在画布内(纵坐标y小于等于500):    – 如果是,则更新爱心的纵坐标self.y,使其向下移动self.speed个单位。    – 同时更新爱心的横坐标self.x,使其按照正弦函数math.sin(self.f)来左右移动。    – 增加标志self.f的值,从而改变左右移动的方向。
    2. 如果爱心已经漂出画布:    – 重新生成一个新的爱心,包括随机设置半径、横纵坐标、左右移动方向、移动速度、颜色等属性。

    通过这个move方法,可以实现让爱心在画布中上下移动,并且在漂出画布后重新生成一个新的爱心。

    完整代码

    https://want595.blog.csdn.net/article/details/134744929

    尾声

    我是一只有趣的兔子,感谢你的喜欢! 

    作者:Want595

    物联沃分享整理
    物联沃-IOTWORD物联网 » Python漂浮爱心代码

    发表回复