圣诞树动画python代码
时间: 2024-12-20 17:13:35 浏览: 18
在Python中制作简单的圣诞树动画,我们可以使用`pygame`库,这是一个常用于游戏开发的图形处理库。以下是一个简化的例子,它会创建一个动态闪烁的圣诞树:
```python
import pygame
import time
# 初始化pygame
pygame.init()
# 设置窗口大小
screen_width = 640
screen_height = 480
screen = pygame.display.set_mode((screen_width, screen_height))
# 定义圣诞树形状
tree_shape = [
[(0, 150), (200, 150)],
[(150, 0), (150, 300)],
[(300, 0), (150, 0)]
]
# 渲染函数
def draw_tree(surface):
for branch in tree_shape:
for point in branch:
pygame.draw.line(surface, (255, 255, 255), point, point, 2)
# 主循环
running = True
while running:
# 每次循环前更新屏幕
screen.fill((0, 0, 0)) # 清屏黑色背景
draw_tree(screen)
# 动画效果:随机改变部分树枝的位置
for i in range(3): # 只改变一部分树枝
if random.randint(0, 9) == 0: # 随机概率为10%
random_x = random.randint(-20, 20) # 随机偏移x轴
random_y = random.randint(-20, 20) # 随机偏移y轴
tree_shape[i][0] = (tree_shape[i][0][0] + random_x, tree_shape[i][0][1] + random_y)
tree_shape[i][1] = (tree_shape[i][1][0] + random_x, tree_shape[i][1][1] + random_y)
# 更新屏幕并检测事件
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
pygame.display.flip() # 刷新屏幕
time.sleep(0.05) # 控制闪烁频率
# 结束pygame
pygame.quit()
```
这个代码会在一个窗口上展示一个闪烁的圣诞树,树枝的位置会偶尔随机变化。你可以通过调整`random_x`和`random_y`的范围以及`time.sleep()`的时间来改变动画的速度。
阅读全文