Heim  >  Artikel  >  Web-Frontend  >  HTML5-Leinwand erlangt 3D-Schneeflockentanzeffekt_html5-Tutorialfähigkeiten

HTML5-Leinwand erlangt 3D-Schneeflockentanzeffekt_html5-Tutorialfähigkeiten

WBOY
WBOYOriginal
2016-05-16 15:48:261483Durchsuche


复制代码
代码如下:

var SCREEN_WIDTH = window.innerWidth;
var SCREEN_HEIGHT = window.innerHeight;

var-Container;

var-Partikel;

var camera;
var scene;
var renderer;

var MouseX = 0;
var MouseY = 0;

var windowHalfX = window.innerWidth / 2;
var windowHalfY = window.innerHeight / 2;

var Partikel = [];
var PartikelImage = new Image();//THREE.ImageUtils.loadTexture( "img/ParticleSmoke.png" );
PartikelImage.src = 'images/ParticleSmoke.png';



function init() {

container = document.createElement('div');
document.body.appendChild(container);

camera = new THREE.PerspectiveCamera( 75, SCREEN_WIDTH / SCREEN_HEIGHT, 1, 10000 );
camera.position.z = 1000;

scene = new THREE.Scene();
scene.add(camera);

renderer = new THREE.CanvasRenderer();
renderer.setSize(SCREEN_WIDTH, SCREEN_HEIGHT);
var material = new THREE.ParticleBasicMaterial( { map: new THREE.Texture(particleImage) } );

for (var i = 0; i < 500; i ) {

Partikel = neues Partikel3D( Material);
Partikel.position.x = Math.random() * 2000 - 1000;
Partikel.position.y = Math.random() * 2000 - 1000;
Partikel .position.z = Math.random() * 2000 - 1000;
Particle.scale.x = Particle.scale.y = 1;
Scene.add( Particle );

Particles. push(Partikel);
}

container.appendChild( renderer.domElement );


document.addEventListener( 'mousemove', onDocumentMouseMove, false );
document.addEventListener( 'touchstart', onDocumentTouchStart, false );
document.addEventListener( 'touchmove', onDocumentTouchMove, false );

setInterval( loop, 1000 / 60 );

}

function onDocumentMouseMove( event ) {

mouseX = event.clientX - windowHalfX;
mouseY = event.clientY - windowHalfY;
}

Funktion onDocumentTouchStart( event ) {

if ( event.touches.length == 1 ) {

event.preventDefault();

mouseX = event.touches[ 0 ].pageX - windowHalfX;
mouseY = event.touches[ 0 ].pageY - windowHalfY;
}
}

Funktion onDocumentTouchMove( event ) {

if ( event.touches.length == 1 ) {

event.preventDefault();

mouseX = event.touches[ 0 ].pageX - windowHalfX;
mouseY = event.touches[ 0 ].pageY - windowHalfY;
}
}

//

Funktion loop() {

for(var i = 0; i {

var Partikel = Partikel[i];
Partikel.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(scene.position);

renderer.render( Szene, Kamera );


}

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn