import pygame import math from pygame.locals import * # 初始化Pygame pygame.init() # 设置屏幕尺寸和标题 width, height = 800, 600 screen = pygame.display.set_mode((width, height)) pygame.display.set_caption('3D 圣诞树') # 设置颜色 GREEN = (34, 139, 34) BROWN = (139, 69, 19) RED = (255, 0, 0) YELLOW = (255, 255, 0) WHITE = (255, 255, 255) # 圣诞树参数 tree_height = 200 tree_width = 100 levels = 5 level_height = tree_height / levels level_width = tree_width / levels # 旋转角度 angle = 0 # 主循环 running = True while running: screen.fill((0, 0, 0)) # 处理事件 for event in pygame.event.get(): if event.type == QUIT: running = False # 创建3D圣诞树 for i in range(levels): # 计算每一层的宽度和高度 current_width = tree_width - i * level_width current_height = level_height # 计算每一层的四个顶点 x1 = -current_width / 2 y1 = -current_height * i x2 = current_width / 2 y2 = y1 x3 = 0 y3 = current_height * (i + 1) # 绘制三角形 pygame.draw.polygon(screen, GREEN, [(x1, y1), (x2, y2), (x3, y3)]) # 添加装饰灯 if i % 2 == 0: pygame.draw.circle(screen, RED, (int(x1 + current_width / 4), int(y1 + current_height / 2)), 5) pygame.draw.circle(screen, YELLOW, (int(x2 - current_width / 4), int(y2 + current_height / 2)), 5) # 绘制树干 pygame.draw.rect(screen, BROWN, (-20, tree_height - 20, 40, 20)) # 旋转效果 angle += 0.01 if angle > 2 * math.pi: angle = 0 # 更新屏幕 pygame.display.flip() # 退出Pygame pygame.quit()标签:python3D,screen,height,current,width,pygame,圣诞树,255 From: https://blog.csdn.net/rhz20131230/article/details/144300711