用python画星空源代码是什么?
发布时间:2023-05-18 01:41:59
要用Python画星空,需要使用Python的图形库进行绘制。在Python中,有很多图形库可供选择,其中包括常用的Matplotlib和Pygame。
以下为使用Pygame库的星空代码示例:
import pygame
import random
# 初始化Pygame
pygame.init()
# 定义屏幕大小和FPS
screen = pygame.display.set_mode((800, 600))
FPS = 60
# 定义星星数量和颜色列表
num_stars = 100
colors = [(255, 255, 255), (200, 200, 200), (150, 150, 150)]
# 定义星星坐标和大小列表
stars = []
for i in range(num_stars):
x = random.randint(0, 800)
y = random.randint(0, 600)
size = random.randint(1, 3)
star = [x, y, size]
stars.append(star)
# 主循环
while True:
# 处理退出事件
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
# 填充屏幕为黑色
screen.fill((0, 0, 0))
# 绘制星星
for star in stars:
pygame.draw.circle(screen, random.choice(colors), star[:2], star[2])
# 更新屏幕
pygame.display.update()
# 控制FPS
pygame.time.Clock().tick(FPS)
运行该代码即可在Pygame窗口中看到随机生成的星空。
代码解析:
首先,我们导入了Pygame库并初始化了Pygame。
接下来,我们定义了屏幕大小和FPS。
然后,我们定义了星星数量和颜色列表,并生成了一个星星坐标和大小列表。在列表中,每个星星都是一个三元素列表,分别表示星星的x坐标、y坐标和大小。这里使用了random模块来随机生成坐标和大小。
接着,我们进入主循环。在循环中,我们先处理了退出事件。
然后,我们用黑色填充了屏幕。
接下来,我们绘制了星星。在循环中,我们遍历了每个星星,并使用pygame.draw.circle函数绘制了一个圆形,其中随机选择了颜色。
最后,我们更新了屏幕,并控制了FPS。pygame.time.Clock().tick(FPS)让游戏运行在指定的帧率下。
综上所述,使用Python绘制星空是一个相对简单的过程,主要涉及到图形库的使用和随机坐标的生成。值得注意的是,在Pygame中,需要使用主循环来持续更新游戏界面。
