コメント:3D Snowflakes Dance Effectは、HTML5のキャンバスタグと3.jsを使用して達成されます。マウスをドラッグして回転させることができます。CSS3プロパティをサポートするブラウザの下で閲覧する必要があります
var screen_width = window.innerwidth;
var screen_height = window.innerheight; </p> <p> var containter; </p> <p> var partial; </p> <p> var Camera;
varシーン;
var renderer; </p> <p> var mousex = 0;
var mousey = 0; < / p> <p> var windowhalfx = window.innerwidth / 2;
var windowhalfy = window.innerheight / 2;
var parts = [];
var particleimage = new Image(); // Three.ImageUtils.LoadTexture( "IMG/ParticlesMoke.png");
particleimage.src = 'images/particlesmoke.png'; </p> <p>
function init(){</p> <p> container = document.createelement( 'div');
document.body.AppendChild(container); < / p> <p> camera = new 3.perspectivecamera(75、screen_width / screen_height、1、10000);
camera.position.z = 1000; </p> <p>シーン= new 3.scene();
shene.add(カメラ);
renderer = new 3.canvasrenderer();
renderer.setsize(screen_width、screen_height);
var Material = new 3.ParticleBasicMaterial({map:new 3.Texture(particleimage)});
for(var i = 0; i <500; i ++){</p> <p> particle = new particle3d(材料);
particle.position.x = math.random() * 2000-1000;
particle.position.y = math.random() * 2000-1000;
particle.position.z = math.random() * 2000-1000;
particle.scale.x = particle.scale.y = 1;
sean.add(粒子);
parts.push(粒子);
} </p> <p> container.appendChild(renderer.domelement); </p> <p>
document.addeventlistener( 'mousemove'、ondocumentmousemove、false);
document.addeventlistener( 'touchstart'、ondocumenttouchstart、false);
document.addeventlistener( 'touchmove'、ondocumenttouchmove、false);
SetInterval(ループ、1000 /60);
}
function ondocumentmousemove(event){</p> <p> mousex = event.clientx -windowhalfx;
mousey = event.clienty-ウィンドウハルフィ;
} </p> <p> function ondocumentTouchStart(event){</p> <p> if(event.touch.length == 1){</p> <> event.preventdefault(); </p> <> mousex = event.touches [0] .pagex -windalfx;
mousey = event.touches [0] .pagey -windowhalfy;
}
} </p> <p> function ondocumentTouchMove(event){</p> <p> if(event.touch.length == 1){</p> <> event.preventdefault(); </p> <> mousex = event.touches [0] .pagex -windalfx;
mousey = event.touches [0] .pagey -windowhalfy;
}
} </p> <p> // </p> <p>関数loop(){</p> <p> for(var i = 0; i <particles.length; i ++)
{</p> <p> var粒子=粒子[i];
particle.updatephysics();
with(particle.position)
{
if(y <-1000)y+= 2000;
if(x> 1000)x- = 2000;
else if(x <-1000)x+= 2000;
if(z> 1000)z- = 2000;
else if(z <-1000)z+= 2000;
}
}
camera.position.x +=(mousex -camera.position.x) * 0.05;
camera.position.y +=( - mousey -camera.position.y) * 0.05;
camera.lookat(sean.position); </p> <p> renderer.render(シーン、カメラ); </p> <p>
}