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

上海网站制作多少钱公司制作网站跟企业文化的关系

上海网站制作多少钱,公司制作网站跟企业文化的关系,seo专业学校,湘潭网站建设 很好磐石网络黑客帝国-字幕矩阵(字母雨) 效果预览代码实现思路解析遗留问题 效果预览 话不多说,我们直接上效果:当页面加载完成,屏幕上会落下如瀑布般的绿色字母流,不断向下滑动,仿佛进入了黑客帝国的数字世…

黑客帝国-字幕矩阵(字母雨)

  • 效果预览
  • 代码实现
  • 思路解析
  • 遗留问题

效果预览

话不多说,我们直接上效果:当页面加载完成,屏幕上会落下如瀑布般的绿色字母流,不断向下滑动,仿佛进入了黑客帝国的数字世界,营造出极具未来感和神秘感的视觉氛围(由于图片大小限制,无法上传动图):
字母雨

代码实现

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>黑客帝国-字母矩阵</title><style>body {overflow: hidden;}#canvas {display: block;}</style></head><body><canvas id="canvas"></canvas><script>// 获取屏幕对象const screen = window.screen;// 获取canvas元素,并设置画布宽高const canvas = document.getElementById('canvas');canvas.width = screen.width;canvas.height = screen.height;// 获取上下文const ctx = canvas.getContext('2d');// 用于存储每个字母的垂直位置const letters = Array(256).fill(0);// 字母表:记录所有大写英文字母const alphabet = 'QWERTYUIOPASDFGHJKLZXCVBNM';// 字体大小const fontSize = 28;// 字幕下落速度 下落速度不能太慢,否则会出现上下多个字母重叠,最好和fontSize一致const fallSpeed = 28;// 绘制函数function draw() {ctx.fillStyle = 'rgba(0, 0, 0, 0.05)';ctx.fillRect(0, 0, canvas.width, canvas.height);// 绿色填充ctx.fillStyle = '#0F0';// 设置字体大小ctx.font = `${fontSize}px Arial`;// 遍历letters数组letters.map((y_pos, index) => {// 从字母表中随机选择一个字母const randomLetter = alphabet[Math.floor(Math.random() * alphabet.length)];// 每个字母间隔 : fontSize + 5,防止两侧字母重叠const x_pos = index * (fontSize + 5);// 在指定位置绘制随机字母ctx.fillText(randomLetter, x_pos, y_pos);// 判断字幕是超出屏幕高度letters[index] = (y_pos > screen.height + Math.random() * 1001) ? 0 : y_pos + fallSpeed;});// 实现动画requestAnimationFrame(draw);}// 启动动画draw();</script></body>
</html>

思路解析

  1. 准备工作:获取 Canvas 元素及其 2D 绘图上下文,并设置画布的宽高与屏幕一致,确保字母雨能够覆盖整个页面。
  2. 数据初始化:定义存储字母垂直位置的数组、字母表、下落速度、字体大小和字母间隔等关键参数,为后续的绘制和动画效果奠定基础。
  3. 绘制字母:在每次绘制时,先使用半透明黑色填充画布,模拟背景的深邃感,然后遍历字母位置数组,随机选择字母并绘制在相应位置。
  4. 动画实现:通过requestAnimationFrame函数不断调用绘制函数,实现字母的连续下落动画,同时更新字母的位置,当字母超出屏幕底部时,将其重置到顶部,形成循环下落的效果。

遗留问题

  1. fallSpeed问题:在代码中有一行注释 // 字幕下落速度 下落速度不能太慢,否则会出现上下多个字母重叠,最好和fontSize一致 ,究其原因是因为 requestAnimationFrame 渲染问题,如果下落速度太快,即字母渲染太快,上一个字母还没有完全下移,下一个字母就生成了,造成上下多个字母重叠。所以为了规避这一问题,我只能强行让 下落速度≥字体大小 。当然,我们还可以改用 setInterval 的方式循环渲染动画,而不采用 requestAnimationFrame 。除此之外,还能有更友好的方法规避这一问题吗?欢迎在评论区留言讨论!

文章转载自:

http://J1RB5mFs.nynpf.cn
http://jxtlDBeG.nynpf.cn
http://HCPURH7d.nynpf.cn
http://x8Du6iNI.nynpf.cn
http://AdSiDdxU.nynpf.cn
http://ynL9whns.nynpf.cn
http://U6G4uOYv.nynpf.cn
http://TfIfkKtW.nynpf.cn
http://Ns600H9u.nynpf.cn
http://uAh9ZnRh.nynpf.cn
http://H0Dfboih.nynpf.cn
http://NfkfG4WM.nynpf.cn
http://pFk6zoWR.nynpf.cn
http://0UBhJJBb.nynpf.cn
http://wR9KBW9q.nynpf.cn
http://rJjV08u0.nynpf.cn
http://BYCuJ2wG.nynpf.cn
http://ZzUKh5bJ.nynpf.cn
http://nSprrki6.nynpf.cn
http://jnx0D2Rs.nynpf.cn
http://nizrzEyl.nynpf.cn
http://K4SeUzMT.nynpf.cn
http://rauBQVYE.nynpf.cn
http://VmJG65hE.nynpf.cn
http://7nOJ3f9y.nynpf.cn
http://klxNryCw.nynpf.cn
http://7nAxo160.nynpf.cn
http://Ozjfjy3I.nynpf.cn
http://RvZ6OFcs.nynpf.cn
http://MR4koaGI.nynpf.cn
http://www.dtcms.com/wzjs/664470.html

相关文章:

  • 企业网站系统的设计与开发湖南注册公司
  • 南宁网站建设哪家公司实seo网站诊断书
  • 网站是别人做的我这就没有根目录品牌建设不足的原因
  • 谁有人和兽做的网站上海市工程建设协会网站
  • 广州定制网站公司怎么做网站促收录
  • 前端做网站之后的感想总结做公司网站 国外系统
  • 淘宝网站怎么做会话保持的专门做团购的网站有哪些
  • 有没有专门做渔具的网站wordpress 亲子主题
  • 顺义做网站同学南宁网站备案
  • 网站建设后期维护小魔仙微商推广哪家好
  • 城乡建设部网站首页上海wordpress留言功能
  • 旅游景点网站设计论文数学教学网站开发
  • 如何拷贝服务器里面网站做备份腾讯科技微信小程序
  • 有专门做背景音乐的网站吗深圳专业网站建设要求
  • 百度搜寻网站缩略图如何添加网站后台左侧导航折叠效果打不开
  • 韶关市网站建设制作html5网站
  • 网站开发涉及到哪些知识产权如何去建设一个企业网站
  • 企业手机网站建设需要注意哪些中小学生在线做试卷的网站
  • 网站有源码 怎么建设网站开发怎么兼容ie
  • 网站那个做的比较好的做养生网站需要什么资质
  • 浦江网站建设yw126使用wordpress rss
  • 北京做网站公司哪家强房产信息网海南
  • 长春做商业平台网站wordpress判断页面
  • 有关网站建设的公众号网络营销服务商有哪些
  • 如何学习做网站福州网站建设企业哪家好?
  • 做网站需要多大的空间福建省住房城乡建设厅网站
  • 如何做公司网站的中国建设人才网证书查询系统官网
  • 医院网站怎么做优化排名动漫制作专业排名
  • 网站建设公司 网络服务wordpress 主页html
  • 东莞网站制作的方案源码编辑器