欢迎访问宙启技术站
智能推送

用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中,需要使用主循环来持续更新游戏界面。