当前位置: 首页 > news >正文

用前端html如何实现2024烟花效果

用HTML、CSS和JavaScript编写的网页,主要用于展示“2024新年快乐!”的文字形式烟花效果。下面是对代码主要部分的分析:

HTML结构
  • 包含三个<canvas>元素,用于绘制动画。
  • 引入百度统计的脚本。
CSS样式
  • 设置body的背景为黑色,并使得canvas元素绝对定位,覆盖整个页面。
JavaScript 功能
  1. 百度统计脚本:页面开始时引入了百度统计的脚本,用于网页访问数据分析。

  2. 获取URL参数GetRequest函数用于解析URL中的查询字符串参数。

  3. 烟花碎片(Shard)类

    • 每个Shard代表烟花爆炸后的一个碎片。
    • 包含碎片的位置、颜色、大小、速度等属性。
    • draw方法用于在canvas上绘制碎片。
    • update方法用于更新碎片的位置和状态。
  4. 火箭(Rocket)类

    • 表示发射的烟花火箭。
    • 包含火箭的位置、速度、颜色等属性。
    • draw方法用于在canvas上绘制火箭。
    • update方法用于更新火箭的位置。
    • explode方法用于模拟火箭爆炸,生成多个Shard实例。
  5. 初始化和动画循环

    • 获取所有canvas元素和对应的2D渲染上下文。
    • 根据屏幕大小调整字体大小,以适应屏幕宽度,并在一个canvas上绘制“2024新年快乐!”文字。
    • 通过读取绘制的文字的像素数据,确定烟花爆炸的目标位置。
    • 使用requestAnimationFrame创建动画循环,不断更新和绘制火箭和碎片,模拟烟花效果。
  6. 辅助函数

    • lerp(线性插值函数):用于平滑地在两个值之间插值,常用于动画效果中。
  7. 执行流程

相关文章:

用前端html如何实现2024烟花效果

用HTML、CSS和JavaScript编写的网页&#xff0c;主要用于展示“2024新年快乐&#xff01;”的文字形式烟花效果。下面是对代码主要部分的分析&#xff1a; HTML结构 包含三个<canvas>元素&#xff0c;用于绘制动画。引入百度统计的脚本。 CSS样式 设置body的背景为黑…...

Redis应用-在用户数据里的应用

1.社区电商的业务闭环 接下来介绍的社区电商是以Redis作为主体技术、以MySQL和RocketMQ作为辅助技术实现的。 (1)社区电商运作模式 社区电商的关键点在于社区,而电商则是辅助性质(次要地位,流量变现)。社区可以分成很多种社区,比如美食社区、美妆社区、影评社区、妈妈社区…...

C++ 中面向对象编程如实现数据隐藏

在C中&#xff0c;面向对象编程&#xff08;OOP&#xff09;通过封装&#xff08;Encapsulation&#xff09;来实现数据隐藏。封装是OOP的一个核心概念&#xff0c;它允许将对象的属性和行为&#xff08;即数据和方法&#xff09;组合在一起&#xff0c;并对外隐藏对象的内部实…...

JavaEE 【知识改变命运】04 多线程(3)

文章目录 多线程带来的风险-线程安全线程不安全的举例分析产出线程安全的原因&#xff1a;1.线程是抢占式的2. 多线程修改同一个变量&#xff08;程序的要求&#xff09;3. 原子性4. 内存可见性5. 指令重排序 总结线程安全问题产生的原因解决线程安全问题1. synchronized关键字…...

gz中生成模型

生成模型 通过服务调用生成 还记得parameter_bridge 吗&#xff1f; 我们在生成桥接的时候调用了这个cpp文件。 一个 parameter_bridge 实例用于消息传递&#xff08;传感器数据&#xff09;。之前的例子 另一个 parameter_bridge 实例用于服务桥接&#xff08;动态生成模型…...

前端(Axios和Promis)

Promise 语法 <script>// 创建promise对象// 此函数需要再传入两个参数,都是函数类型let pnew Promise((resolve,reject)>{if(3>2){resolve({name:"李思蕾",age:23,地址:"河南省"});}else{reject("error");}});console.log(p);p.th…...

AI Agent:重塑业务流程自动化的未来力量(2/30)

《AI Agent&#xff1a;重塑业务流程自动化的未来力量》 摘要&#xff1a;整体思路是先介绍 AI Agent 的基本情况&#xff0c;再深入阐述其实现业务流程自动化的方法和在不同领域的应用&#xff0c;接着分析其价值和面临的挑战&#xff0c;最后得出结论&#xff0c;为读者全面…...

前端页面导出word

html-docx-js bug: vite使用html-docx.js会报错&#xff0c;点击下载上方文件替换即可 正文 npm install html-docx-js -S npm install file-saver -S<template><div id"managerReport">word内容......</div> </template><script>&l…...

【考前预习】1.计算机网络概述

往期推荐 子网掩码、网络地址、广播地址、子网划分及计算-CSDN博客 一文搞懂大数据流式计算引擎Flink【万字详解&#xff0c;史上最全】-CSDN博客 浅学React和JSX-CSDN博客 浅谈云原生--微服务、CICD、Serverless、服务网格_云原生 serverless-CSDN博客 浅谈维度建模、数据分析…...

ubuntu20.04复现 Leg-KILO

这里写目录标题 opencv版本问题下载3.2.0源代码进入解压后的目录创建构建目录运行 CMake 配置 配置时指定一个独立的安装目录&#xff0c;例如 /opt/opencv-3.2&#xff1a;出错&#xff1a; 使用多线程编译错误1&#xff1a; stdlib.h: 没有那个文件或目录错误2&#xff1a;er…...

Ensembl数据库下载参考基因组(常见模式植物)bioinfomatics 工具37

拟南芥参考基因组_拟南芥数据库-CSDN博客 1 Ensembl数据库网址 http://plants.ensembl.org/index.html #官网 如拟南芥等 那么问题来了&#xff0c;基因组fa文件和gff文件在哪里&#xff1f; 2 参考案例 拟南芥基因组fa在这里 注释gff文件在这里...

简单介绍web开发和HTML CSS_web网站开发流程

一、Web 开发&#xff1a;探索互联网世界的基石 1.1 什么是 Web 开发 Web 开发&#xff0c;简单来说&#xff0c;就是构建能够通过浏览器访问的网站的过程。Web 代表着全球广域网&#xff0c;也就是我们熟知的万维网&#xff08;www&#xff09;&#xff0c;它连接着世界各地的…...

Docker 中使用 PHP 通过 Canal 同步 Mysql 数据到 ElasticSearch

一、Mysql 的安装和配置 1.使用 docker 安装 mysql&#xff0c;并且映射端口和 root 账号的密码 # 获取镜像 docker pull mysql:8.0.40-debian# 查看镜像是否下载成功 docker images# 运行msyql镜像 docker run -d -p 3388:3306 --name super-mysql -e MYSQL_ROOT_PASSWORD12…...

数据结构之五:排序

void*类型的实现&#xff1a;排序&#xff08;void*类型&#xff09;-CSDN博客 一、插入排序 1、直接插入排序 思想&#xff1a;把待排序的数据逐个插入到一个已经排好序的有序序列中&#xff0c;直到所有的记录插入完为止&#xff0c;得到一个新的有序序列 。 单趟&#x…...

科研绘图系列:R语言绘制热图和散点图以及箱线图(pheatmap, scatterplot boxplot)

禁止商业或二改转载,仅供自学使用,侵权必究,如需截取部分内容请后台联系作者! 文章目录 介绍加载R包数据下载图1图2图3系统信息参考介绍 R语言绘制热图和散点图以及箱线图(pheatmap, scatterplot & boxplot) 加载R包 library(magrittr) library(dplyr) library(ve…...

基于 webRTC Vue 的局域网 文件传输工具

文件传输工具&#xff0c;匿名加密&#xff0c;只需访问网页&#xff0c;即可连接到其他设备&#xff0c;基于 webRTC 和 Vue.js coturn TURN 服务器 docker pull coturn/coturn docker run -d --networkhost \-v $(pwd)/my.conf:/etc/coturn/turnserver.conf \coturn/coturn…...

LeetCode 718. 最长重复子数组 java题解

https://leetcode.cn/problems/maximum-length-of-repeated-subarray/description/ 动态规划 class Solution {public int findLength(int[] nums1, int[] nums2) {int len1nums1.length,len2nums2.length;int[][] dpnew int[len11][len21];dp[0][0]0;//没有意义&#xff0c;…...

算法知识-15-深搜

一、概念 深度优先搜索&#xff08;Deep First Search, DFS&#xff09;是一种用于遍历或搜索树或图的算法。这种策略沿着树的深度遍历树的节点&#xff0c;尽可能深地搜索树的分支。 二、关键步骤 选择起点&#xff1a;根据题目要求&#xff0c;选择一个或多个节点作为搜索…...

区块链dapp 开发详解(VUE3.0)

1、安装metamask 插件。 2、使用封装的工具包: wagmi . 3、 wagmi 操作手册地址:connect | Wagmi 4、注意事项&#xff1a; 因为最初是react 版本&#xff0c;所以在VUE版的官方文档有很多地方在 import 用的是 wagmi,需要改为 wagmi/vue 。 连接成功后打印的内容如下&…...

Plugin [id: ‘flutter‘] was not found in any of the following sources解决方法

文章目录 错误描述解决方法修正方案&#xff1a;继续使用 apply from修正后的 build.gradle说明警告的处理进一步验证 错误描述 Plugin [id: ‘flutter’] was not found in any of the following sources: Gradle Core Plugins (not a core plugin, please see https://docs…...

芯片时序分析避坑指南:当Setup/Hold Time出现负值,你的设计真的错了吗?

芯片时序分析中的负值迷思&#xff1a;当Setup/Hold Time打破常规认知 第一次在PrimeTime报告中看到-0.15ns的Hold Time时&#xff0c;我差点把咖啡喷在显示器上——这完全颠覆了我对时序分析的基础认知。作为从业五年的芯片设计工程师&#xff0c;我本能地认为这一定是某个环节…...

智能运维避坑指南:高压断路器机器学习诊断中的5大常见数据陷阱

智能运维避坑指南&#xff1a;高压断路器机器学习诊断中的5大常见数据陷阱 在电力系统智能运维的浪潮中&#xff0c;高压断路器作为电网的"安全卫士"&#xff0c;其故障诊断的准确性与及时性直接关系到整个电网的稳定运行。随着机器学习技术在工业领域的深入应用&…...

【STM32实战】机械臂快递分拣系统(三)——基于阿里云的远程监控与交互控制

1. 阿里云物联网平台接入实战 第一次接触阿里云物联网平台时&#xff0c;我被它强大的设备管理能力震撼到了。这个平台就像个智能管家&#xff0c;不仅能实时监控设备状态&#xff0c;还能远程下发控制指令。对于我们的机械臂快递分拣系统来说&#xff0c;简直是量身定做的解决…...

像素时装锻造坊实战教程:用Enchantment功能将文字描述转为像素咒语技巧

像素时装锻造坊实战教程&#xff1a;用Enchantment功能将文字描述转为像素咒语技巧 1. 像素时装锻造坊简介 像素时装锻造坊是一款基于Stable Diffusion与Anything-v5的图像生成工具&#xff0c;它将AI图像生成与复古日系RPG游戏界面完美结合。不同于传统AI工具的单调界面&…...

抖音批量下载终极指南:免费无水印下载器完整使用教程

抖音批量下载终极指南&#xff1a;免费无水印下载器完整使用教程 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fallback suppor…...

Fish-Speech-1.5语音老化模拟:从年轻到年老的声纹演变实验

Fish-Speech-1.5语音老化模拟&#xff1a;从年轻到年老的声纹演变实验 探索AI语音技术如何精准模拟人类声音随年龄增长的自然变化过程 你有没有想过&#xff0c;同一个人的声音从20岁到80岁会如何变化&#xff1f;这种声纹的自然演变过程&#xff0c;现在可以通过AI技术进行精准…...

Vivado时序报错排查与跨时钟域处理实战指南

1. Vivado时序报错排查基础 遇到Vivado时序报错时&#xff0c;很多开发者第一反应是直接修改约束文件&#xff0c;这其实是个误区。我建议先从代码层面入手排查&#xff0c;因为大多数时序问题根源都在RTL设计上。打开Vivado的时序报告&#xff0c;你会看到类似"Setup/Hol…...

Flux Sea Studio 海景摄影生成工具:LaTeX技术文档编写——生成高质量海景插图与科研论文配图实践

Flux Sea Studio 海景摄影生成工具&#xff1a;LaTeX技术文档编写——生成高质量海景插图与科研论文配图实践 写论文、编教材&#xff0c;最头疼的事情之一就是找配图。要么是找不到合适的&#xff0c;要么是找到了但版权不明晰&#xff0c;要么就是风格不统一&#xff0c;七拼…...

用ESP32-S3做个桌面小玩意:语音助手、GIF时钟和网络摄像头三合一(附开源代码与避坑指南)

ESP32-S3三合一桌面终端&#xff1a;从零构建智能语音助手、动态时钟与摄像监控系统 引言&#xff1a;当极客精神遇见桌面美学 在创客圈里流传着一句话&#xff1a;"如果你桌面上没有至少三个正在吃灰的开发板&#xff0c;说明你不够极客。"而今天我们要做的&#xf…...

大模型应用开发零基础教程:30分钟上手

大模型应用开发零基础教程&#xff1a;30分钟上手 标签&#xff1a;#人工智能、#大模型、#自然语言处理、#大模型开发、#智能体开发、#agent开发、#AI 系统封装学习规划&#xff08;从玩具到产品&#xff09; 用streamlit run xxx.py --server.port 8501本地测试免费部署&#…...