Python画一个动态星空
时间: 2023-06-20 17:06:37 浏览: 126
以下是使用Python和Pygame库创建动态星空的示例代码:
```python
import pygame
import random
# 初始化Pygame
pygame.init()
# 定义窗口的宽度和高度
screen_width = 800
screen_height = 600
# 创建窗口
screen = pygame.display.set_mode((screen_width, screen_height))
# 定义星星的数量
num_stars = 500
# 定义星星的列表
stars = []
# 创建星星
for i in range(num_stars):
# 随机生成星星的位置和大小
x = random.randint(0, screen_width)
y = random.randint(0, screen_height)
size = random.randint(1, 3)
stars.append((x, y, size))
# 定义星星的颜色
star_color = (255, 255, 255)
# 定义移动的速度
speed = 1
# 创建游戏循环
while True:
# 处理事件
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
exit()
# 重新绘制背景
screen.fill((0, 0, 0))
# 移动星星
for i in range(num_stars):
x, y, size = stars[i]
y += speed
# 如果星星超出屏幕范围,则重新生成
if y > screen_height:
x = random.randint(0, screen_width)
y = random.randint(-screen_height, 0)
size = random.randint(1, 3)
stars[i] = (x, y, size)
# 绘制星星
for x, y, size in stars:
pygame.draw.circle(screen, star_color, (x, y), size)
# 刷新屏幕
pygame.display.flip()
```
运行程序,你将会看到一个黑色的背景,上面有许多闪烁的白色星星,这些星星会不断地从屏幕顶部滑落到底部,并且会重新生成。你可以尝试调整代码中的参数,比如星星的数量、移动速度、大小和颜色,来创建不同的星空效果。
阅读全文