AIGC标识 粒子星空:鼠标划过漫天星辰,一键切换昼夜

粒子星空:鼠标划过漫天星辰,一键切换昼夜

输入一句需求,码道自动生成一个包含粒子轨迹、烟花爆炸和主题切换的交互式动画网页。全程零手写代码。


码道 TUI 安装

码道 CLI 官方提供 Windows 与 macOS/Linux 两种安装方式,按自己的系统选一种即可。

Windows(仅支持在 PowerShell 执行)

# 1. 一键安装
irm https://cnnorth4-cloudide-marketplace.obs.cn-north-4.myhuaweicloud.com/codearts/cli_tui/install_script/install.ps1 | iex

# 2. 配置环境变量
$env:CODEARTS_CLI_AK="你的AK"
$env:CODEARTS_CLI_SK="你的SK"

# 3. 启动 TUI
codearts

macOS / Linux(终端)

# 1. 一键安装
sh -c "$(curl -L https://cnnorth4-cloudide-marketplace.obs.cn-north-4.myhuaweicloud.com/codearts/cli_tui/install_script/install.sh)"

# 2. 配置环境变量
export PATH=~/.codeartsdoer/installers:$PATH
export CODEARTS_CLI_AK=你的AK
export CODEARTS_CLI_SK=你的SK

# 3. 启动 TUI
codearts

安装成功后终端会回显码道 CLI 的版本号。如果还没用过码道,可以免费开通体验版试试:

AK/SK 获取:https://codearts.huaweicloud.com/portal/settings/cli-auth

👉 还没有码道?立即开通体验:https://developer.huaweicloud.com/codeartsco.html?source=dmzntgwsf&sourcead=dmzntgwwbwz

一、码道是什么

码道(CodeArts) 是华为云推出的 AI 编程助手,支持通过自然语言描述需求,自动生成完整可运行的项目代码。它不仅有 IDE 插件,还提供命令行工具(CLI),让你在终端里用一句话就能完成开发任务。

码道 CLI 开通步骤:

  1. 访问开通链接完成开通
  2. 在 AK/SK 管理页面 生成访问密钥
  3. 在终端配置环境变量 CODEARTS_CLI_AK 和 CODEARTS_CLI_SK
  4. 执行 codearts run "你的需求" 即可开始开发

二、任务描述

这次我们让码道生成一个交互式粒子星空动画网页,需要满足以下需求:

  • 深色背景上星星闪烁
  • 鼠标移动产生彩色粒子轨迹
  • 点击屏幕产生烟花爆炸效果
  • 右上角按钮可切换白天/黑夜主题
  • 画布自适应窗口大小
  • 所有代码写在一个 HTML 文件中

在终端中输入:

codearts run "创建一个漂亮的交互式粒子星空动画网页,保存为index.html。
要求:1)鼠标移动产生彩色粒子轨迹 2)点击产生烟花爆炸效果 
3)右上角有白天/黑夜主题切换按钮 4)深色背景上星星闪烁 
5)粒子有渐变颜色和淡出动画 6)画布填充整个窗口"

三、开发过程

需求输入后,码道开始工作

码道收到需求后,自动分析任务,确定了技术方案:使用 HTML5 Canvas 作为渲染引擎,纯 JavaScript 实现粒子系统和动画循环。整个过程无需选择框架、无需手动搭建项目结构。

深色星空背景,闪烁的星星和粒子星空标题

截图1:默认夜间模式,深色渐变背景上随机分布闪烁的星星

粒子轨迹跟随鼠标

鼠标在画布上移动时,码道生成的代码会在鼠标位置连续创建彩色粒子。粒子使用 HSL 颜色空间,色调根据坐标动态计算,形成彩虹渐变效果。

鼠标移动后产生的彩色粒子轨迹

截图2:鼠标移动产生的彩色粒子轨迹,颜色随位置渐变的拖尾效果

点击触发烟花爆炸

点击画布任意位置,码道会以点击点为中心生成 80 个向外扩散的粒子,模拟烟花爆炸效果。烟花粒子具有重力模拟和摩擦力衰减,运动轨迹更加自然。

点击屏幕后烟花爆炸的粒子效果

截图3:点击触发烟花爆炸,多个彩色粒子从中心点向外扩散

一键切换主题

右上角的主题切换按钮采用毛玻璃效果设计,点击即可在夜间星空和白天天空之间切换。切换过程有平滑的颜色过渡动画。

切换到白天模式的浅色天空效果

截图4:切换到白天模式,浅蓝色渐变天空替代深色星空


四、核心代码解析

码道生成的 index.html 共 297 行,结构清晰。我们来解析几个关键部分。

粒子系统

粒子是动画的核心。Particle 类封装了粒子的位置、速度、颜色和生命周期管理:

class Particle {
    constructor(x, y, color, isFirework = false) {
        this.x = x;
        this.y = y;
        this.size = isFirework ? Math.random() * 3 + 1 : Math.random() * 2 + 0.5;
        this.speedX = (Math.random() * 2 - 1) * (isFirework ? 5 : 2);
        this.speedY = (Math.random() * 2 - 1) * (isFirework ? 5 : 2);
        this.color = color;
        this.alpha = 1;
        this.decay = isFirework ? 0.015 : 0.02;
        this.gravity = isFirework ? 0.05 : 0;
        this.friction = 0.97;
    }

    update() {
        this.speedX *= this.friction;
        this.speedY *= this.friction;
        this.speedY += this.gravity;
        this.x += this.speedX;
        this.y += this.speedY;
        this.alpha -= this.decay;
    }
}

烟花粒子与轨迹粒子的区别通过 isFirework 参数控制:

  • 烟花粒子:尺寸更大、初始速度更快、有重力、衰减稍慢
  • 轨迹粒子:尺寸更小、速度更慢、无重力、快速淡出

星星闪烁

Star 类使用正弦波控制亮度,实现自然的呼吸式闪烁效果:

class Star {
    update() {
        this.phase += this.speed;
        this.brightness = 0.5 + Math.sin(this.phase) * 0.5;
    }
}

每个星星有自己的随机相位和闪烁速度,避免了同步闪烁的机械感。

颜色算法

轨迹粒子使用基于坐标的 HSL 颜色,让不同位置的粒子呈现不同颜色:

function gradientColor(x, y) {
    const hue = (x + y) % 360;
    return `hsl(${hue}, 100%, 65%)`;
}

烟花粒子则使用完全随机的色调,每次点击都产生不同的颜色组合。

动画循环

动画循环使用 requestAnimationFrame,通过半透明覆盖实现粒子淡出:

function animate() {
    ctx.fillStyle = isNightMode 
        ? 'rgba(12, 12, 46, 0.1)' 
        : 'rgba(135, 206, 235, 0.1)';
    ctx.fillRect(0, 0, canvas.width, canvas.height);
    // ... 更新星星和粒子
    requestAnimationFrame(animate);
}

这种"半透明清屏"技术避免了逐帧擦除全部内容,让粒子自然产生拖尾残影效果。


五、运行效果

将生成的 index.html 文件直接在浏览器中打开即可体验:

  • 移动鼠标 → 彩色粒子轨迹跟随,颜色随位置渐变
  • 点击屏幕 → 80 个粒子以点击点为中心爆炸扩散
  • 点击右上角按钮 → 昼夜主题切换,含平滑过渡动画
  • 缩放窗口 → 画布自动适应,星星重新分布

项目源码已开源在 GitCode:查看完整代码


六、能力总结

这次体验验证了码道的几个核心能力:

能力 表现
需求理解 准确解析 6 项需求,无遗漏
技术选型 纯 HTML5 Canvas + JS,零依赖,开箱即用
代码质量 297 行结构清晰,类封装规范,性能优化到位
视觉效果 粒子渐变、星星闪烁、烟花爆炸、主题切换均实现
交互体验 鼠标轨迹、点击烟花、主题切换均流畅运行

一句话需求 → 完整可运行的交互式网页,码道的端到端交付能力令人印象深刻。


七、总结

通过这次实践可以看到,码道不仅仅是一个代码补全工具,它能够从一句自然语言需求出发,自主完成技术选型、架构设计、代码生成,交付一个包含粒子系统、动画循环和主题切换的完整网页应用。

对于开发者来说,这意味着可以把精力从重复的搭建工作中解放出来,专注于创意和产品体验。下次你想快速验证一个交互式网页的想法时,不妨试试码道——一句话就够了。


开通码道:https://developer.huaweicloud.com/codeartsco.html?source=dmzntgwsf&sourcead=dmzntgwwbwz

AK/SK 配置:https://codearts.huaweicloud.com/portal/settings/cli-auth

完整项目源码:https://gitcode.com/developer-ecosystem/best-practices/blob/main/scenarios/ai-development/particle-starfield/project/index.html

posted @ 2026-08-12 10:07  新科技观察员  阅读(15)  评论(0)    收藏  举报