基于three.js怎么实现简易照片墙效果(three.js,开发技术)

时间:2024-05-05 18:02:55 作者 : 石家庄SEO 分类 : 开发技术
  • TAG :

代码:

<!DOCTYPEHTML><HTML><HEAD><METAcharset="utf-8"><METAname="viewport"content="width=device-width,user-scalable=no,minimum-scale=1.0,maximum-scale=1.0"><TITLE></TITLE><STYLE>html,body{height:100%;}body{background-color:#454545;margin:0;overflow:hidden;background-size:cover;}.element{width:240px;height:320px;}.elementimg{position:absolute;border:none;}</STYLE></HEAD><BODY><scriptsrc="js/jquery-3.1.1.min.js"></script><scriptsrc="js/jquery.mousewheel.min.js"></script><SCRIPTsrc="js/three.min.js"></SCRIPT><SCRIPTsrc="js/CSS3DRenderer.js"></SCRIPT><DIVid="container"></DIV><DIVid="menu"><SCRIPT>vartable=[];varcamera,scene,renderer;createImages();init();animate();functioninit(){camera=newTHREE.PerspectiveCamera(40,window.innerWidth/window.innerHeight,1,10000);camera.position.x=0;camera.position.y=0;camera.position.z=3000;camera.lookAt({x:0,y:0,z:0});scene=newTHREE.Scene();for(vari=0;i<table.length;i++){varelement=document.createElement('div');element.className='element';element.id='element';varphoto=document.createElement('img');photo.className='photo';photo.id=table[i][0];photo.src='images/'+table[i][0]+'?t='+Math.floor((Math.random()*100)+1);element.appendChild(photo);varobjectCSS=newTHREE.CSS3DObject(element);objectCSS.position.x=(table[i][1]*250)-1750;objectCSS.position.y=-(table[i][2]*330)+1200;objectCSS.position.z=0;scene.add(objectCSS);}renderer=newTHREE.CSS3DRenderer();renderer.setSize(window.innerWidth,window.innerHeight);renderer.domElement.style.position='absolute';document.getElementById('container').appendChild(renderer.domElement);window.addEventListener('resize',onWindowResize,false);}functiononWindowResize(){camera.aspect=window.innerWidth/window.innerHeight;camera.updateProjectionMatrix();renderer.setSize(window.innerWidth,window.innerHeight);}functionanimate(){renderer.render(scene,camera);requestAnimationFrame(animate);}$(window).mousewheel(function(event){camera.position.y-=event.deltaY*event.deltaFactor;camera.position.z=3000;vartarget=newTHREE.Vector3();var_eye=newTHREE.Vector3();_eye.subVectors(camera.position,target);camera.position.addVectors(target,_eye);camera.lookAt(_eye);});functioncreateImages(){varfiles=[{"name":"0.jpg"},{"name":"1.jpg"},{"name":"2.jpg"}];varrow=1;varcol=1;for(vari=0;i<files.length;i++){varfile=[];file[0]=files[i]['name'];file[1]=col++;file[2]=row;table[i]=file;if(col>13){col=1;row++;}}}</SCRIPT></DIV></BODY></HTML>

效果图如下:

基于three.js怎么实现简易照片墙效果

 </div> <div class="zixun-tj-product adv-bottom"></div> </div> </div> <div class="prve-next-news">
本文:基于three.js怎么实现简易照片墙效果的详细内容,希望对您有所帮助,信息来源于网络。
上一篇:C++中new类型的运算符怎么使用下一篇:

12 人围观 / 0 条评论 ↓快速评论↓

(必须)

(必须,保密)

阿狸1 阿狸2 阿狸3 阿狸4 阿狸5 阿狸6 阿狸7 阿狸8 阿狸9 阿狸10 阿狸11 阿狸12 阿狸13 阿狸14 阿狸15 阿狸16 阿狸17 阿狸18