返回顶部
首页 > 资讯 > 精选 >基于JS如何实现漫画中大雨滂沱的效果
  • 447
分享到

基于JS如何实现漫画中大雨滂沱的效果

2023-07-02 08:07:06 447人浏览 八月长安
摘要

这篇文章主要讲解了“基于js如何实现漫画中大雨滂沱的效果”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“基于JS如何实现漫画中大雨滂沱的效果”吧!演示技术栈最近用canvas有点上瘾,接着上次

这篇文章主要讲解了“基于js如何实现漫画中大雨滂沱的效果”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“基于JS如何实现漫画中大雨滂沱的效果”吧!

演示

基于JS如何实现漫画中大雨滂沱的效果

技术栈

最近用canvas有点上瘾,接着上次的雨滴和流星雨的思路我们在改进一下

<canvas id='canvas' width='1280' height='720'></canvas>

源码

CSS部分

body {margin:0;padding:0;background: #000;overflow:hidden;}canvas {background:url('../img/maxresdefault.jpg');background-size: cover;background-repeat: no-repeat;background-position: center center;  }

background-size属性指定背景图片大小。

默认值: auto 继承: no 版本: css3 javascript 语法: object object.style.backgroundSize="60px 80px"

语法

background-size: length|percentage|cover|contain;

length 设置背景图片高度和宽度。第一个值设置宽度,第二个值设置的高度。如果只给出一个值,第二个是设置为 auto(自动)

percentage 将计算相对于背景定位区域的百分比。第一个值设置宽度,第二个值设置的高度。如果只给出一个值,第二个是设置为"auto(自动)"

cover 此时会保持图像的纵横比并将图像缩放成将完全覆盖背景定位区域的最小大小。

contain 此时会保持图像的纵横比并将图像缩放成将适合背景定位区域的最大大小。

大雨滂沱

function _pexresize() {var cw = window.innerWidth;var ch = window.innerHeight;if (cw<=ch*stgw/stgh) {loffset = 0;toffset = Math.floor(ch-(cw*stgh/stgw))/2;canvas.style.width = cw + "px";canvas.style.height = Math.floor(cw*stgh/stgw) + "px";} else {loffset = Math.floor(cw-(ch*stgw/stgh))/2;toffset = 0;canvas.style.height = ch + "px";canvas.style.width = Math.floor(ch*stgw/stgh) + "px";}canvas.style.marginLeft = loffset +"px";canvas.style.marginTop = toffset +"px";}

随机雨点和持续降雨

for (var l=0;l<lcount;l++) {ctx.clearRect(0,0,stgw,stgh);for (var i=0;i<count*(lcount-l)/1.5;i++) {var myx = Math.floor(Math.random()*stgw);var myy = Math.floor(Math.random()*stgh);var myh = l*6+8;var myw = myh/10;ctx.beginPath();ctx.moveTo(myx,myy);ctx.lineTo(myx+myw,myy+myh);ctx.arc(myx, myy+myh, myw, 0, 1 * Math.PI);ctx.lineTo(myx-myw,myy+myh);ctx.closePath();ctx.fill();}layer[l] = new Image();layer[l].src = canvas.toDataURL("image/png");layery[l] = 0;}var stt = 0;var str = Date.now()+Math.random()*4000;var stact = false;function animate() {ctx.clearRect(0,0,stgw,stgh);for (var l=0;l<lcount;l++) {layery[l] += (l+1.5)*5;if (layery[l]>stgh) {layery[l] =layery[l]-stgh;}ctx.drawImage(layer[l],0,layery[l]);ctx.drawImage(layer[l],0,layery[l]-stgh);}if (Date.now()>str) {stact = true;}if (stact) {stt++;if (stt<5+Math.random()*10) {var ex = stt/30;} else {var ex = (stt-10)/30;}if (stt>20) {stt = 0;stact = false;str = Date.now()+Math.random()*8000+2000;}ctx.fillStyle = "rgba(255,255,255,"+ex+")";ctx.fillRect(0,0,stgw,stgh);}window.requestAnimationFrame(animate);}

感谢各位的阅读,以上就是“基于JS如何实现漫画中大雨滂沱的效果”的内容了,经过本文的学习后,相信大家对基于JS如何实现漫画中大雨滂沱的效果这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

--结束END--

本文标题: 基于JS如何实现漫画中大雨滂沱的效果

本文链接: https://lsjlt.com/news/340753.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 基于JS实现漫画中大雨滂沱的效果
    目录演示技术栈源码css部分大雨滂沱演示 技术栈 最近用canvas有点上瘾,接着上次的雨滴和流星雨的思路我们在改进一下 <canvas id='canvas' width=...
    99+
    2024-04-02
  • 基于JS如何实现漫画中大雨滂沱的效果
    这篇文章主要讲解了“基于JS如何实现漫画中大雨滂沱的效果”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“基于JS如何实现漫画中大雨滂沱的效果”吧!演示技术栈最近用canvas有点上瘾,接着上次...
    99+
    2023-07-02
  • CSS 、JS如何实现浪漫流星雨动画
    这篇文章给大家分享的是有关CSS 、JS如何实现浪漫流星雨动画的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。1,效果图2,源码HTML< body >  &nb...
    99+
    2023-06-08
  • 如何使用CSS 、JS实现浪漫流星雨动画
    小编给大家分享一下如何使用CSS 、JS实现浪漫流星雨动画,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!   HTML   ...
    99+
    2024-04-02
  • Python如何实现代码雨动画效果
    本篇内容介绍了“Python如何实现代码雨动画效果”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!代码如下import sysimp...
    99+
    2023-07-04
  • 基于WPF如何实现3D画廊动画效果
    本篇内容介绍了“基于WPF如何实现3D画廊动画效果”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!接下来想做一个图廊,所以并没有必要用立方体,...
    99+
    2023-07-05
  • JS如何实现红包兔子雨效果
    本篇内容介绍了“JS如何实现红包兔子雨效果”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!思考与实现首先,思考一下最终的展示效果:在屏幕上会有...
    99+
    2023-07-05
  • 基于Python实现流星雨效果的绘制
    目录1 前言2 霍金说移民外太空3 浪漫的流星雨展示 4 Python代码 1 前言 我们先给个小故事,提一下大家兴趣;然后我给出论据,得出结论。最后再浪漫的流星...
    99+
    2024-04-02
  • 基于JS实现Android,iOS一个手势动画效果
    废话不多说了,先给大家展示下效果图: 这是iOS下的效果,android下完全一致。通过do_GestureView组件和do_Animation组件,deviceone能很...
    99+
    2022-06-06
    js 手势 动画 IOS Android
  • js基于myFocus如何实现轮播图效果
    这篇文章将为大家详细讲解有关js基于myFocus如何实现轮播图效果,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。具体内容如下step1.页面引入相关文件<link...
    99+
    2024-04-02
  • 如何使用Android实现红包雨动画效果
    这篇文章主要介绍如何使用Android实现红包雨动画效果,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!红包雨关于实现上面红包雨效果步骤如下:创建一个红包实体类public class RedPac...
    99+
    2023-05-30
    android
  • 基于JavaScript如何实现动态雨滴特效
    今天小编给大家分享一下基于JavaScript如何实现动态雨滴特效的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。演示技术栈介...
    99+
    2023-07-02
  • javascript中canvas如何实现雨滴效果
    这篇文章将为大家详细讲解有关javascript中canvas如何实现雨滴效果,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。本文实例为大家分享了javascript canvas实现雨滴效果的具体代码,供...
    99+
    2023-06-15
  • 如何基于Flutter实现爱心三连动画效果
    这篇文章主要为大家展示了“如何基于Flutter实现爱心三连动画效果”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何基于Flutter实现爱心三连动画效果”这篇文章吧。前言我们开始 Flutt...
    99+
    2023-06-29
  • 如何使用SurfaceView实现下雨与下雪动画效果
    这篇文章将为大家详细讲解有关如何使用SurfaceView实现下雨与下雪动画效果,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。先看一下最终完成的效果图:下雨.gif这里比较懒……第二个图片中还是降雨……不...
    99+
    2023-05-30
    surfaceview
  • 基于CSS3的animation动画属性如何实现轮播图效果
    这篇文章将为大家详细讲解有关基于CSS3的animation动画属性如何实现轮播图效果,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。animation简介:CSS3的an...
    99+
    2024-04-02
  • 基于Python如何实现视频转字符画动漫小工具
    本篇文章给大家分享的是有关基于Python如何实现视频转字符画动漫小工具,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。导语今天带大家来点儿好玩儿的东西,我想你们肯定是喜欢的!上...
    99+
    2023-06-22
  • 基于WPF实现3D画廊动画效果的示例代码
    接下来想做一个图廊,所以并没有必要用立方体,只需做一些“墙壁”就行了。 而在一个平面上建起另一个矩形的平面,实则非常容易,只需输入墙角的两点和高度就可以了,这...
    99+
    2023-02-28
    WPF实现3D画廊效果 WPF 3D画廊 WPF 3D
  • 如何实现基于HTML5的WebGL经典3D虚拟机房漫游动画
    这篇文章将为大家详细讲解有关如何实现基于HTML5的WebGL经典3D虚拟机房漫游动画,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。第一人称在 3D 中的用法要参考第一人...
    99+
    2024-04-02
  • 基于Echarts如何实现饼图效果
    这篇文章主要讲解了“基于Echarts如何实现饼图效果”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“基于Echarts如何实现饼图效果”吧!1 显示数值效果 series 下的label 饼...
    99+
    2023-06-30
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作