赞
踩
- import turtle
- import random
- turtle.setup(600, 600)
- turtle.bgcolor('black')
Particle
:初始化粒子的形状、位置、速度等属性。
move()
方法控制粒子的运动,包括旋转、前进、更新位置等。
定义绘制爱心的函数 draw_heart()
:
particles
。 draw_heart()
函数绘制爱心形状。 循环生成粒子对象,并添加到 particles
列表中:
particles
列表中:- for i in range(100):
- particles.append(Particle())
- while True:
- for p in particles:
- p.move()
- turtle.update()
9.最后调用 turtle.done()
来保持窗口显示状态。
注意:这段代码会一直循环运行,直到手动关闭窗口。每次运行时,会生成100个随机粒子,并通过 move()
方法实现粒子的运动效果
所有代码如下:
- import turtle
- import random
-
- # 设置画布大小和背景颜色
- turtle.setup(600, 600)
- turtle.bgcolor('black')
-
- # 定义粒子的类
- class Particle(turtle.Turtle):
- def __init__(self):
- turtle.Turtle.__init__(self, shape='circle', visible=False)
- self.pu()
- self.speed(0)
- self.setundobuffer(None)
- self.shapesize(random.uniform(0.1, 0.5))
- self.fillcolor(random.choice(['red', 'pink', 'white']))
- self.goto(random.randint(-250, 250), random.randint(-250, 250))
- self.setheading(random.randint(0, 360))
- self.showturtle()
- self.vx = random.uniform(-2, 2)
- self.vy = random.uniform(-2, 2)
- self.life = random.randint(20, 50)
-
- # 粒子运动的方法
- def move(self):
- self.lt(random.randint(-10, 10))
- self.fd(2)
- self.vx *= 8.4
- self.vy *= 4.1
- self.setx(self.xcor() + self.vx)
- self.sety(self.ycor() + self.vy)
- self.life -= 1
- if self.life <= 0:
- self.clear()
- self.hideturtle()
-
- # 定义绘制爱心的函数
- def draw_heart():
- turtle.color('red', 'pink')
- turtle.begin_fill()
- turtle.lt(45)
- turtle.fd(200)
- turtle.circle(100, 180)
- turtle.rt(90)
- turtle.circle(100, 180)
- turtle.fd(200)
- turtle.end_fill()
-
- # 初始化粒子列表
- particles = []
-
- # 绘制粒子组成的爱心
- draw_heart()
-
- # 循环生成粒子
- for i in range(100):
- particles.append(Particle())
-
- # 粒子运动循环
- while True:
- for p in particles:
- p.move()
- turtle.update()
-
- turtle.done()
创作不易点个赞和关注,持续为您更新优质作品
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。