小屌丝:鱼哥, 这2023年马上就结束了, 是不是要表示表示。
小鱼:我也在思考这个事情。
小屌丝:这还需要思考?
小鱼:那可不,毕竟马上新年了,我不能草率啊。
小屌丝:那你准备怎么表示,表示多少,去哪表示啊?
小鱼:在C站一篇博文。
小屌丝:…
小鱼:不然呢,我还要写几篇啊。
小屌丝:…
小鱼:这个咋样。
小屌丝:…
小鱼:这表情,不太乐意啊
小屌丝:我还以为你能给会员卡充满呢。
小鱼:这不是你的事情嘛。
小屌丝:…
小鱼:我想好了,写一个新年祝福视频。
小屌丝:… 这压力给到我了。
小鱼: 嘿嘿~
其实这篇的思路,跟这篇《Python3,10行代码,写一个气球运行小游戏,再也不无聊了。》的思路差不多。
这里就不在赘述,如果不太了解,那直接跳转到这一篇,查看即可。
1、画布的高宽及颜色:
turtle.screensize(canvwidth=None, canvheight=None, bg=None),
2、画布像素及位置:
turtle.setup(width=0.5, height=0.75, startx=None, starty=None),
命令 | 用法 |
---|---|
turtle.forward(distance) | 向当前画笔⽅向移动distance像素长度 |
turtle.backward(distance) | 向当前画笔相反⽅向移动distance像素长度 |
turtle.right(degree) | 顺时针移动degree° |
turtle.left(degree) | 逆时针移动degree° |
turtle.pendown() | 移动时绘制图形,缺省时也为绘制 |
turtle.goto(x,y) | 将画笔移动到坐标为x,y的位置 |
turtle.penup() | 提起笔移动,不绘制图形,⽤于另起⼀个地⽅绘制 |
turtle.circle() | 画圆,半径为正(负),表⽰圆⼼在画笔的左边(右边)画圆 |
setx( ) | 将当前x轴移动到指定位置 |
sety( ) | 将当前y轴移动到指定位置 |
setheading(angle) | 设置当前朝向为angle⾓度 |
home() | 设置当前画笔位置为原点,朝向东。 |
dot( r ) | 绘制⼀个指定直径和颜⾊的圆点 |
学习了turtle的基本用法,接下来,我们就要实践了。
# -*- coding:utf-8 -*-
# @Time : 2023-12-17
# @Author : Carl_DJ
'''
实现功能:
使用turtle绘制五彩气球,并写上新年祝福语
'''
import turtle as tu
import random as ra
import math
#设置画板大小
tu.setup(0.5,0.5)
t = tu.Pen()
#设置气球颜色
colors = ['red','orange','yellow','blue','green','pink','lime']
class Balloon():
#气球基本设置
def __init__(self):
self.r = ra.randint(12,21) #气球的半径
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 #气球外框大小
#气球移动函数
def Balloon_move(self):
if self.y <= 500: # 气球在画布中
self.y += self.speed #气球上下移动速度
self.x += self.speed * math.sin(self.f) #气球左右移动速度
self.f += 0.1
#画气球函数,turtle
def Balloon_draw(self):
t.penup()
t.goto(self.x,self.y)
t.pendown()
t.color(self.color)
t.left(45)
t.begin_fill()
t.fillcolor(self.color)
for i in range(2):
t.circle(self.r*2,90)
t.circle(self.r,90)
t.end_fill()
t.hideturtle()
t.circle(self.r,-45)
t.right(90)
t.circle(20,90)
#保存所有气球
Balloons = []
for i in range(100):
Balloons.append(Balloon())
tu.bgcolor('black')
while True: #气球开始漂浮
tu.tracer(0)
t.clear()
for i in range(100): #设置气球数量
Balloons[i].Balloon_move()
Balloons[i].Balloon_draw()
# 写祝福语
tu.penup()
tu.goto(-250,20)
tu.pendown()
tu.color('orange')
tu.write("新年快乐",font=("黑体",80,"italic")) #italic :斜体
# tu.write("祝你快乐每一天!", font=("黑体", 80, "italic")) # "italic"表示斜体
tu.hideturtle()
tu.update()
tu.mainloop()
运行结果
新年祝福+气球
看到这里,今天的分享差不多就该结束了。
2023年,也该告一段落了。
新的一年,我们依然要不忘初心,砥砺前行。
关于 turtle 的用法, 也可以参考小鱼的这篇博客
关于气球绘画,可以参考小鱼的这篇博客:
我是小鱼:
关注小鱼,带你学习更多更专业更前言的人工智能相关技术。