




下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第基于three.js实现简易照片墙效果学习three.js的过程中,写的一个简易照片墙,可以使用鼠标滚轮上下浏览,采用的是移动相机的方式。
代码贴出来,供学习这一块的朋友们参考和指导:
!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;itable.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;ifiles.length;i++)
{
varfile=[];
file[0]=files[i]['name'];
file[1]=col++;
file[2]=row;
table[i]=file;
if(col13)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 纺织工艺优化实践试题及答案
- 《高效课堂管理》课件
- 采购试题库及答案
- 酒馆转让合同协议书
- 企业卫生承包合同协议书
- 转让饭店合同协议书
- 餐饮外卖合同协议书
- 合同协议书副本怎么写
- 民房合同协议书
- 合同协议书的间隔
- 提高四级手术术前多学科讨论完成率实施方案
- 2023-2024学年浙江省绍兴市上虞市重点中学小升初数学入学考试卷含解析
- 【一例猪流行性腹泻的诊断与治疗实例探析4500字(论文)】
- 第1课古代亚非教学设计-2023-2024学年中职高一下学期高教版(2023)世界历史
- 第8课《良师相伴 亦师亦友》第1框《良师相伴助力成长》-【中职专用】《心理健康与职业生涯》同步课堂课件
- 外卖行业交通安全培训
- 神经外科管道的护理
- 自动检测技术及仪表控制系统
- 既有建筑幕墙安全性鉴定技术规程(征求意见稿)
- 2024年嘉兴市众业供电服务有限公司招聘笔试参考题库含答案解析
- 等离子体物理学导论L课件
评论
0/150
提交评论