`

粒子喷泉

阅读更多
注:来自http://daimaren.cn/blog/?p=195
(function(){//粒子喷泉

var sp = function(posx,posy){

var c1=Math.floor(Math.random()*256),c2=Math.floor(Math.random()*256),c3=Math.floor(Math.random()*256);

this.posX = posx;

this.posY = posy;

this.velX = 0;

this.velY = 0;

this.shrink = 1;

this.size = 1;

this.drag = 1;

this.gravity = 0;

this.alpha = 0.5;

this.fade = 0;

this.update = function()

{

this.velX *= this.drag;

this.velY *= this.drag;

this.velY += this.gravity;

this.posX += this.velX;

this.posY += this.velY;

this.size *= this.shrink;

this.alpha -= this.fade;

}



this.render = function(c)

{

c.fillStyle = "rgba("+c1+","+c2+","+c3+","+this.alpha+")";

c.beginPath();

c.arc(this.posX, this.posY, this.size, 0, Math.PI*2, true);

c.closePath();

c.fill();

}

}

var spring = window['spring'] = function(){

var W = window.innerWidth,H=window.innerHeight,springArr=[],MaxSpring=150,context,_self=this;

this.printScr = function(){

document.write('<canvas width='+W+' height='+H+' id="Myspring"></canvas>')

};

this.randomRange = function(min,max){//返回随机范围值

return ((Math.random()*(max-min)) + min);

};

this.isCanDraw = function(){

return !!document.createElement('canvas').getContext;

};

this.makeSpring = function(nub){

for(var i=0;i<nub;i++){

var sps = new sp(_self.randomRange(1,W),100);

sps.velX = (Math.random()*20)-10;

sps.velY = (Math.random()*20)-10;

sps.drag = 0.96;

sps.gravity = 0.5;

sps.size = _self.randomRange(1,20);

springArr.push(sps);

}

};

this.init=function(){

if(_self.isCanDraw()){

_self.printScr();

var canvas = document.getElementById("Myspring");

context = canvas.getContext('2d');

_self.loop();

}

}

this.loop = function(){

_self.makeSpring(4);

context.fillStyle="rgb(0,0,0)";

context.fillRect(0,0,W, H);

for (i=0; i<springArr.length; i++)

{

var sp =springArr[i];

sp.render(context);

sp.update();



}

while(springArr.length>MaxSpring){

springArr.shift();

}
setTimeout(_self.loop,1000/30)
}

}

})();
var po = new spring();
po.init();
分享到:
评论

相关推荐

    html5 canvas实现蓝色的广场粒子喷泉动画特效源码.zip

    3. **动画原理**:粒子喷泉的动态效果是通过定时器(通常使用`requestAnimationFrame`)来实现的。每次更新时,粒子的位置、速度、旋转等属性会被改变,然后调用`clearRect`清除画布并重新绘制,形成连续的动画效果...

    webgl喷泉粒子发射动画特效

    创建一个新的THREE.Scene实例,将为我们的粒子喷泉提供舞台。 2. **创建相机(Camera)**:相机决定了观众如何观察场景。在本例中,我们可以使用THREE.PerspectiveCamera,设定视场角、纵横比和近远裁剪面。 3. **...

    canvas粒子喷泉动画特效.zip

    在本文中,我们将深入探讨如何使用HTML5的Canvas API创建一个粒子喷泉动画特效,并结合JavaScript实现鼠标交互功能,使用户可以通过点击增加粒子喷泉的效果。Canvas是HTML5的一个核心特性,它允许开发者在网页上绘制...

    html5 canvas酷炫粒子喷泉动画特效

    在Canvas上实现粒子喷泉动画特效,主要涉及到以下几个核心知识点: 1. **Canvas基本操作**:首先,你需要理解如何在HTML文档中创建一个Canvas元素,并通过JavaScript获取到它的2D渲染上下文(`canvas.getContext('...

    基于HTML5 Canvas实现粒子喷泉动画特效源码.zip

    在粒子喷泉动画中,每个粒子可能代表一个小点或图形,它们按照预设的运动轨迹和速度移动,形成动态的视觉效果。这种特效通常通过以下步骤实现: 1. **创建Canvas元素**:首先,在HTML文档中添加一个`&lt;canvas&gt;`标签...

    HTML5+Three.js+WebGL实现带重力效果的粒子喷泉动画特效源码.zip

    在这个粒子喷泉动画中,每个粒子都具有位置、速度、大小等属性,并受到重力的影响,使得粒子向下运动,形成类似喷泉的效果。开发者可能通过调整粒子的初始速度、重力系数以及生命周期等参数,来控制喷泉的形态和动态...

    三维粒子模型喷泉

    本项目“三维粒子模型喷泉”是利用Visual C++ 6.0这一经典编程环境实现的一个交互式三维动画。它展示了粒子系统如何被用来创建动态、引人入胜的视觉效果,特别是模拟水体流动的效果,如喷泉。 粒子模型是一种简化...

    喷泉+粒子科技

    在IT行业中,"喷泉+粒子科技"是一个独特的概念,结合了动态图形设计与编程技术。这个主题主要涉及两个方面:喷泉效果的实现和粒子系统中的黑洞模拟。这两个概念通常用于增强用户界面的视觉吸引力,尤其是在游戏开发...

    webgl喷泉粒子发射动画特效.zip

    【描述】提到的"非常实用好看的特效代码",指的是这个压缩包中包含了一套完整的WebGL粒子喷泉动画的源代码。这套代码不仅设计精巧,能够流畅地运行,还提供了二次修改的可能性,意味着开发者可以根据自己的需求对...

    Cesium粒子特效喷泉特效代码及模型.zip

    在本文中,我们将深入探讨如何使用Cesium库创建粒子特效,特别是喷泉特效。Cesium是一个强大的开源JavaScript库,专为在Web上呈现3D地理空间数据而设计,它利用WebGL技术提供高性能的3D图形渲染。我们将讨论Cesium中...

    canvas粒子喷泉动画特效特效代码

    在"canvas粒子喷泉动画特效"中,我们需要创建大量粒子,并控制它们的运动轨迹以模拟喷泉效果。每个粒子都有自己的属性,如位置、速度、颜色、大小等。在每一帧中,我们更新粒子的状态,然后在Canvas上绘制它们。这...

    osg粒子系统包括喷泉雨雪效果

    在计算机图形学领域,粒子系统是一种强大的工具,用于模拟复杂的视觉效果,如喷泉、雨、雪等自然现象。OpenSceneGraph(osg)是一个开源的3D图形库,提供了丰富的功能,其中包括粒子系统的实现。本篇文章将深入探讨...

    webgl喷泉粒子发射动画特效特效代码

    在本案例中,"webgl喷泉粒子发射动画特效特效代码"是一个利用WebGL库来创建动态、视觉冲击力强的粒子喷泉效果的项目。这种特效通常用于网站背景或者互动元素,可以为用户带来生动的视觉体验。 WebGL允许开发者直接...

    unity 喷泉粒子特效

    在这个特定的场景中,我们关注的是"unity 喷泉粒子特效",这是一个利用Unity引擎的粒子系统创建的视觉效果。 粒子系统是Unity中的一个重要工具,它允许开发者模拟各种自然现象,如火、烟、水、雾等,通过无数微小的...

    flash 粒子 喷泉

    flash 写的喷泉特效。 粒子效果,跟鼠标互动。 还是挺绚的。

    OpenGl喷泉粒子效果

    在这个"OpenGl喷泉粒子效果"项目中,我们看到的是如何利用OpenGL的特性来模拟逼真的喷泉场景。以下是对这个主题的详细解释: 首先,我们要理解“粒子效果”在计算机图形学中的含义。粒子系统是一种模拟复杂视觉效果...

    OPENGL粒子系统之喷泉

    OPENGL 粒子系统 喷泉 OPENGL 粒子系统 喷泉 OPENGL 粒子系统 喷泉 OPENGL 粒子系统 喷泉 OPENGL 粒子系统 喷泉

Global site tag (gtag.js) - Google Analytics