2024新年快乐烟花代码

一、前言

很快就是2024年了,让我们好好告别2023,迎接2024。

凡是过往皆是序章,所有未来皆为可盼。在2023年里也许你踏足山藏,拥有花的铺簧书的风光,也许你进入低谷,经历了一个人的兵荒马乱。但没关系,都翻篇了。

笔者很喜欢的一句话:“既然上了生活的贼船,那就做一个快乐的海盗。”

留下一句,2024,愿新年胜旧年。辞著尔尔,烟火年年,朝朝暮暮,岁岁平安!

 二、2024年新年烟花

1、HTML

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title> happy new year fireworks</title></head>
<body>
<!-- partial:index.partial.html --><!-- partial --><script src="assets/js/script.js"></script></body>
</html>

2、部分JavaScript

let chars, particles, canvas, ctx, w, h, current;
let duration = 5000;
let str = ['Happy', 'New', 'Year' , '2024'];init();
resize();
requestAnimationFrame(render);
addEventListener('resize', resize);function firework(t, i, pts) {t -= i*200;let id = i + chars.length*parseInt(t - t%duration);t = t % duration / duration;let dx = (i+1)*w/(1+chars.length);dx += Math.min(0.33, t)*100*Math.sin(id);let dy = h*0.5;dy += Math.sin(id*4547.411)*h*0.1;if (t < 0.33) {rocket(dx, dy, id, t*3);} else {explosion(pts, dx, dy, id, Math.min(1, Math.max(0, t-0.33)*2));}
}function rocket(x, y, id, t) {ctx.fillStyle = 'white';let r = 2-2*t + Math.pow(t, 15*t)*16;y = h - y*t;circle(x, y, r)
}function explosion(pts, x, y, id, t) {let dy = (t*t*t)*20;let r = Math.sin(id)*1 + 3  r = t<0.5 ? (t+0.5)*t*r:r-t*rctx.fillStyle = `hsl(${id*55}, 55%, 55%)`;pts.forEach((xy,i) => {if (i%20 === 0)ctx.fillStyle = `hsl(${id*55}, 55%, ${55+t*Math.sin(t*55+i)*45}%)`;circle(t*xy[0] + x, h - y + t*xy[1] + dy, r)});
}function circle(x,y,r) {ctx.beginPath();ctx.ellipse(x, y, r, r, 0, 0, 6.283);ctx.fill();
}

三、效果

资源获取: 烟花动态最新新年快乐烟花html代码资源-CSDN文库

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/310917.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

第二部分 离散型随机变量

目录 求分布律里的未知数 例1 例2 根据X的分布律写Y的分布律 例3 根据(X,Y)的分布律写Z的分布律 例4 根据(X,Y)的分布律写边缘分布律 例5 X与Y相互独立时的联合分布律 例6 根据分布律求期望、方差 例7 求分布律里的未知数 例1 已知X的分布律为 X-202P0.40.3k ,试求k 解 0.40…

Linux 安装 mysql【使用yum源进行安装】

配置yum 源 首先&#xff0c;去到mysql网站&#xff0c;找到它的rpm的资源包 “mysql80-community-release-el9-5.noarch.rpm” 我们将其下载下来&#xff0c;然后配置yum源&#xff08;下面两种方式二选一即可&#xff09; ① 使用xftp传输&#xff0c;然后配置yum源 rpm …

【软件工程】走进敏捷开发:灵活、协作、迭代的软件工艺之旅

&#x1f34e;个人博客&#xff1a;个人主页 &#x1f3c6;个人专栏&#xff1a; 软件工程 ⛳️ 功不唐捐&#xff0c;玉汝于成 目录 前言&#xff1a; 正文 敏捷开发&#xff08;Agile Development&#xff09; 详细介绍&#xff1a; 优缺点&#xff1a; 优点&#xf…

OSG 关于MVPW变换

目录 1、模型 Model 2、观察矩阵 ViewMatrix 4、窗口矩阵变化 5、总结 在osg中观察矩阵接口设置如下: 其中eye是相机的世界坐标位置,center是相机观察的位置,up是相机向上向量。 在计算机的三维世界中&#xff0c;相机如同我们的眼睛&#xff0c;捕捉眼前的每一副画面&#xff…

Nx市工业数据洞察:Flask、MySQL、Echarts的可视化之旅

Nx市工业数据洞察&#xff1a;Flask、MySQL、Echarts的可视化之旅 背景数据集来源技术选型功能介绍创新点总结 背景 随着工业化的不断发展&#xff0c;Nx市工业数据的收集和分析变得愈发重要。本博客将介绍如何利用Flask、MySQL和Echarts等技术&#xff0c;从统计局获取的数据…

ElasticSearch历史版本/老版本下载

下载地址 https://www.elastic.co/cn/downloads/past-releases#elasticsearch 搜索所需版本并下载

中医电子处方系统,西医个体诊所门诊卫生室病历记录查询软件教程

中医电子处方系统&#xff0c;西医个体诊所门诊卫生室病历记录查询软件教程 一、软件程序问答 1、电子处方软件如何快速开单&#xff1f; 如下图&#xff0c;软件以 佳易王诊所电子处方管理系统V17.1版本为例说明 在开电子处方的时候可以按单个药品开&#xff0c;也可以直…

linux基于用户身份对资源访问进行控制的解析及过程

linux中用户分为三类 1.超级用户&#xff08;root&#xff09; 拥有至高无上的权限 2.普通用户 人为创建、权限小&#xff0c;权限受到控制 3.程序用户 运行程序的用户&#xff0c;不是给人使用的&#xff0c;给程序使用的&#xff0c;一般不给登录&#xff01; 组账…

SetWindowsHookEx: 全局钩子实现键盘记录器

简介 SetWindowsHookEx 钩子(Hook)&#xff0c;是Windows消息处理机制的一个平台&#xff0c;应用程序可以在上面设置子程以监视指定窗口的某种消息&#xff0c;而且所监视的窗口可以是其他进程所创建的。当消息到达后&#xff0c;在目标窗口处理函数之前处理它。钩子机制允许应…

病理HE学习贴(自备)

目录 正常结构 癌症HE 在线学习 以胃癌的学习为例 正常结构 1&#xff1a;胃粘膜正常结构和细胞分化 ●表面覆盖小凹上皮细胞(主要标志物&#xff1a;MUC5AC)以保护黏膜。 ●胃底腺固有腺体由黏液颈细胞(MUC6)、主细胞(Pepsinogen l)和壁细胞(Proton pump α-subunit)组…

项目实战--Message Queue

一. 概念篇 我们在学习多线程的时候,学习过生产者-消费者模型,为了实现解耦合和削峰填谷,引入了阻塞队列. 在实际的后端开发中,跨主机之间使用生产者消费者模型,也是非常普遍的需求,因此,阻塞队列会被封装成一个独立的服务器程序,实现更丰富的功能.这样的程序称为"消息队列…

Java EE Servlet之Servlet API详解

文章目录 1. HttpServlet1.1 核心方法 2. HttpServletRequest3. HttpServletResponse 接下来我们来学习 Servlet API 里面的详细情况 1. HttpServlet 写一个 Servlet 代码&#xff0c;都是要继承这个类&#xff0c;重写里面的方法 Servlet 这里的代码&#xff0c;只需要继承…