渐变线条拖尾特效-原理及pygame实现

199 阅读1分钟

效果预览

😎🥳😎🤠🤖🙈💭🍳🍱

在这里插入图片描述

视频教程

www.bilibili.com/video/BV1vu…

内容介绍

🦞🦐🦀🦑🦪

本文介绍了渐变拖尾的实现原理,应用场景,并且实例了pygame的实现代码和如何修改显示的效果。

代码

import pygame

# 初始化Pygame,屏幕尺寸,创建屏幕,时钟
pygame.init()
screen_width = 1000
screen_height = 800
screen = pygame.display.set_mode((screen_width, screen_height))
pygame.display.set_icon(pygame.image.load('logo.png').convert())
pygame.display.set_caption('编程启航')
clock = pygame.time.Clock()

# 起始和结束颜色
start_color = (255, 0, 0)
end_color = (0, 0, 255)
# 历史轨迹列表
trail = []
# 定义列表长度
l_=30

running = True
while running:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            running = False

    # 添加当前鼠标位置到历史轨迹列表
    trail.append(pygame.mouse.get_pos())

    # 限制历史轨迹长度
    if len(trail) > l_:
        trail.pop(0)

    # 渐变色索引
    gradient_index = 0

    # 清空屏幕
    screen.fill((0, 0, 0))

    # 绘制历史轨迹
    for i in range(1, len(trail)):
        start_point = trail[i - 1]
        end_point = trail[i]

        # 计算渐变色
        gradient_ratio = i / len(trail)
        gradient_color = [
            int(start_color[j] * (1 - gradient_ratio) + end_color[j] * gradient_ratio)
            for j in range(3)
        ]

        pygame.draw.line(screen, gradient_color, start_point, end_point, 5)

    pygame.display.flip()
    clock.tick(60)

pygame.quit()


总结

🐋 🐬 🐶 🐳 🐰 🦀☝️ ⭐ 👉 👀

如果你对这篇文章感兴趣,欢迎在评论区留言,分享你的想法和建议。如果你喜欢我的博客,请记得点赞、收藏和关注我,我会持续更新更多有用的网页技巧和教程。谢谢大家!


更多宝藏

🍇🍉🍊🍏🍋🍅🥝🥥🫒🫕🥗

视频推送看这里🤤: space.bilibili.com/1909782963

项目仓库看这里🤗: github.com/w-x-x-w

gitee.com/w-_-x

公众号名称😮:编程启航

博客文章看这里🤭: blog.csdn.net/weixin_6265…