三.js加载大量物体后白屏
Three.js white screen after loading a lot of objects
我正在从JSON文件加载很多(超过4350个)3D对象。
for (var y in game.fields) {
for (var x in game.fields[y]) {
switch (game.fields[y][x]) {
case 'm':
Three.loadMountain(x, y)
break
case 'h':
Three.loadHill(x, y)
break
}
}
}
我可以看到屏幕上出现物体,但在某些时刻一切都变白了。能是什么?我可以以某种方式调试它吗?控制台中没有消息,我正在使用铬浏览器。
方法:
this.loadMountain = function (x, y) {
loader.load('/models/mountain.json', getGeomHandler('#808080', x * 4 - 216, y * 4 - 311, 1));
}
this.loadHill = function (x, y) {
loader.load('/models/hill.json', getGeomHandler('#008000', x * 4 - 216, y * 4 - 311, 1));
}
解决方案:不要在循环中使用 loader.load。而是在回调函数中将网格添加到场景中。
例:
loader.load('/models/mountain.json', function(geometry){
var material = new THREE.MeshLambertMaterial({color: '#808080'})
for (var y in game.fields) {
for (var x in game.fields[y]) {
switch (game.fields[y][x]) {
case 'm':
var mesh = new THREE.Mesh(geometry, material);
mesh.position.set(x, 0, y);
scene.add(mesh);
break
}
}
}
});
相关文章:
- 高速全屏JS面部检测
- 太平洋投资管理公司:成功登录管理员后获得死亡白屏
- 温泉UI问题出现“白屏”角度JS代码
- 地理位置白屏在电话间隙构建
- j查询冲突!在WordPress的POST EDIT页面上显示白屏
- 三.js加载大量物体后白屏
- 避免在jQuery手机中闪烁(白屏)
- 如何使整个网站在全屏下运行,屏幕满屏.js
- 科尔多瓦安卓应用程序中加载页面后出现白屏 - 安卓 5.1
- 在 phonegap -2.9.0 中滚动期间出现白屏
- 在 JavaScript 中调用 PhP 函数会返回白屏
- 全屏.js和html-5-视频全屏
- 移动.jQuery中的changepage不工作(白屏)
- 加载Laravel到服务器(白屏错误)
- 为什么我的代码在Nokia Here HTML5版本中只显示白屏?
- 在Xcode上运行Cordova 2.6.0项目时出现白屏
- 网站渲染问题:Safari 4显示内容闪烁,然后是白屏
- 谷歌地图地址表单集成发送白屏
- 检查用户是否触屏(JS)
- 加载JSON对象时三个JS白屏