Python画动态星空
时间: 2023-11-05 13:09:29 浏览: 162
要画动态星空,我们可以使用 Python 的 Turtle 模块来实现。以下是一个简单的示例代码:
```python
import turtle
import random
# 设置窗口大小和背景颜色
turtle.setup(800, 600)
turtle.bgcolor("black")
# 创建星星的类
class Star(turtle.Turtle):
def __init__(self):
turtle.Turtle.__init__(self, shape="circle")
self.speed(0)
self.penup()
self.color("white")
self.shapesize(random.uniform(0.1, 0.5))
self.goto(random.randint(-400, 400), random.randint(-300, 300))
def move(self):
self.goto(self.xcor(), self.ycor() - 3)
if self.ycor() < -350:
self.goto(random.randint(-400, 400), random.randint(300, 400))
# 创建多个星星
stars = []
for i in range(50):
star = Star()
stars.append(star)
# 持续画图
while True:
for star in stars:
star.move()
```
代码中,我们首先导入 turtle 模块,然后设置了窗口大小和背景颜色。接着,我们创建了一个名为 Star 的类,用来表示星星。在这个类中,我们设置了星星的形状、速度、颜色和大小,并且随机将星星放置在屏幕上的某个位置。
然后,我们创建了多个星星,并将它们添加到一个名为 stars 的列表中。接下来,我们使用 while 循环不断地调用每个星星的 move 方法,来让星星动起来。在 move 方法中,我们将星星的位置向下移动一定的距离,并且当星星超出了屏幕底部时,重新将它放置到屏幕的顶部。
最后,我们通过调用 turtle.done() 方法来持续显示画图窗口,直到我们手动关闭它。运行代码后,就可以看到一个动态星空的效果了。
阅读全文