时间:2020-03-09来源:电脑系统城作者:电脑系统城
1 "use strict"
2
3 //加载js文件
4 loadFile([
5 "./js/lib/WebGL.js",//检查 是否支持webGL 插件
6 "./js/lib/three_114.min.js",//3d库
7 "js/func.js"
8 ], main);
9
10 //创建一个ajax请求, 前往index.php验证用户是否已登录
11 //如果Ajax返回的是false说明用户还没有登录成功,并前往 view.php,
12 //否则ajax返回用户信息对象
13 function main(){
14 new Ajax({
15 url:"./php/index.php",
16 method:"get",
17 success:(data)=>{
18 let d = JSON.parse(data);
19 if(d === false){location.href = "./login/view.php"; return;}
20 showUserInfo(d.val, new View());//用户信息视图
21 showThreeView();//场景3d视图
22 }
23 });
24 }
25
26 //退出
27 function exit(){
28 if(new Func().isRun({id:"testId"}) !== true){console.log("你点得太快了,服务器跟不上"); return;}
29 new Ajax({
30 url:"./php/exit.php",
31 method:"get",
32 success:(data)=>{main();}
33 });
34 }
35
36 //创建html p元素
37 function create(v, fel, content){
38 let p = v.add(fel, "p");
39 p.innerHTML = content || "";
40 return p;
41 }
42
43 //创建登录成功后的主页内容
44 function showUserInfo(user, v){//console.log(user);
45
46 var lid = v.get("loginBoxId");
47
48 var elem_name = create(v, lid, "你好: " + user.UserName);
49 elem_name.innerHTML += "<input type = 'button' id = 'exitId' value = '退 出' />";
50 v.get('exitId').onclick = ()=>{exit();}//退出按钮
51
52 create(v, lid, "我知道你的邮箱是: " + user.Email);
53
54 switch(user.Like.length){
55 case 1 :
56 create(v, lid, "我还知道你喜欢: " + user.Like[0]);
57 break;
58 case 2 :
59 create(v, lid, "我还知道你喜欢: " + user.Like[0]);
60 create(v, lid, "还有: " + user.Like[1]);
61 break;
62 case 3 :
63 create(v, lid, "我还知道你喜欢: " + user.Like[0]);
64 create(v, lid, "还有: " + user.Like[1]);
65 create(v, lid, "还有: " + user.Like[2]);
66 break;
67 default : break;
68 }
69 lid.style = "visibility:visible;";
70 //lid居中显示
71 /* let x = Math.round((v.client.w/2) - (lid.offsetWidth/2));
72 let y = Math.round((v.client.h/2) - (lid.offsetHeight/2)) - 16;
73 lid.style = "left:"+x+"px; top:"+y+"px; visibility:visible;"; */
74 }
75
76
77 //创建 主页 3d 视图
78 /*
79 键盘 w a s d移动
80 鼠标 点击滑动旋转
81 */
82 function showThreeView(){
83
84 var three = new Three();
85
86 //场景
87 var scene = three.createScene();
88
89 //相机
90 var camera = three.createCamera(); //console.log(camera);
91
92 //渲染器
93 var renderer = three.createRenderer();
94
95 //灯光
96 var light = three.createLight(scene);
97
98 //控制器
99 three.createControl(camera, renderer);
100
101 //动画循环
102 three.animate(scene, camera, renderer);
103
104 //创建地面
105 three.createGround();
106
107 //创建院墙
108 three.createWall({isSetY:true});
109
110 //创建铁门
111 three.createGate();
112
113 console.log(three);
114 alert("键盘 w a s d移动, 鼠标 点击滑动旋转");
115 }
Func.js
展示:

three.js 版本号为 114 (需要 php 服务器环境才能运行
2023-03-18
如何使用正则表达式保留部分内容的替换功能2023-03-18
gulp-font-spider实现中文字体包压缩实践2023-03-18
ChatGPT在前端领域的初步探索最近闲来无事,在自己的小程序里面集成了一个小视频的接口,但是由于小程序对于播放视频的限制,只能用来做一个demo刷视频了,没办法上线体验。小程序播放视频限制最多10个,超出可能...
2023-03-18
Vue.js、React和Angular对比 以下是Vue.js的代码示例: 以下是React的代码示例: 以下是Angular的代码示例:...
2023-03-18