three打造下雪效果
代码语言:html
所属分类:三维
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!doctype html> <html lang="zh"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <script type="text/javascript" src="http://repo.bfw.wiki/bfwrepo/js/jquery.17.js"></script> <title>雪花</title> <style type="text/css"> body { width: 100%; height: 100%; background-color: #5569ae; background-size: 100% auto; } .snow-container { position: fixed; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; z-index: 100001; } </style> </head> <body> <div class="snow-container"></div> <script type="text/javascript" src="https://cdn.bootcss.com/three.js/r52/three.min.js"></script> <script type="text/javascript"> function randomRange(t, i) { return Math.random() * (i - t) + t } Particle3D = function (t) { THREE.Particle.call(this, t), this.velocity = new THREE.Vector3(0, -2, 0), this.velocity.rotateX(randomRange(- 45, 45)), this.velocity.rotateY(randomRange(0, 360)), this.gravity = new THREE.Vector3(0, 0, 0), this .drag = 1 }, Particle3D.prototype = new THREE.Particle, Particle3D.prototype.constructor = Particle3D, Particle3D.prototype .updatePhysics = function () { this.velocity.multiplyScalar(this.drag), this.velocity.addSelf(this.gravity), this.position.addSelf(this .velocity) }; var TO_RADIANS = Math.PI / 180; THREE.Vector3.prototype.rotateY = function (t) { cosRY = Math.cos(t * TO_RADIANS), sinRY = Math.sin(t * TO_RADIANS); var i = this.z, o = this.x; this.x = o * cosRY + i * sinRY, this.z = o * -sinRY + i * cosRY }, THREE.Vector3.prototype.rotateX = function (t) { cosRY = Math.cos(t * TO_RADIANS), sinRY = Math.sin(t * TO_RADIANS); var i = this.z, o = this.y; this.y = o * cosRY + i * sinRY, this.z = o * -sinRY + i * cosRY }, THREE.Vector3.prototype.rotateZ = function (t) { cosRY = Math.cos(t * TO_RADIANS), sinRY = Math.sin(t * TO_RADIANS); var i = this.x, o = this.y; this.y = o * cosRY + i * sinRY, this.x = o * -sinRY + i * cosRY }; $(function () { var container = document.querySelector(".snow-container"); if (/MSIE 6|MSIE 7|MSIE 8/.test(navigator.userAgent)) { return } else { if (/MSIE 9|MSIE 10/.test(navigator.userAgent)) { $(container).css("height", $(window).height()).bind("click", function () { $(this).fadeOut(1000, function () { $(this).remove() }) }) } } var containerWidth = $(contain.........完整代码请登录后点击上方下载按钮下载查看
网友评论0