模拟.js第一个程序:屏幕上没有绘制任何内容
Sim.js first program: nothing drawn on the screen
我正在关注"WebGL:up and running"一书。它用 Sim.js 制作的第一个程序有点复杂,我很难识别每条指令的作用,而且我没有找到任何可靠的 Sim.js 文档;所以我正在尝试编写一个更简单的程序,只是为了理解它是如何工作的。
该程序的"灵感"来自第 3 章中的代码,其中包含以下两个文件:
- 地球基本.js;
- 图形-地球-基础.html。
我试图编写一个本质上相同的程序,但构造一个没有纹理的简单球体。但可能有什么问题,因为屏幕上没有绘制任何内容:我看到一个只有标题的空白页。这是代码:
<!DOCTYPE html>
<html>
<head>
<title> Sim.js Test </title>
</head>
<body>
<h1 align="center"> Sim.js Test </h1>
<div id="container" width="400" height="400"> </div>
<script src="../Three.js-master/build/three.min.js"></script>
<script src= "../Sim.js-master/sim.js"> </script>
<script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js"></script>
<script src="jquery.mousewheel.min.js"> </script>
<script type="text/javascript">
SphereApp= function() {
Sim.App.call(this);
}
SphereApp.prototype= new Sim.App();
SphereApp.prototype.init= function(param) {
Sim.App.prototype.init.call(this,param);
var sphere= new Sphere();
sphere.init();
this.addObject(sphere);
}
Sphere= function() {
Sim.Object.call(this);
}
Sphere.prototype= new Sim.Object();
Sphere.prototype.init = function() {
var object= new THREE.Mesh( new THREE.SphereGeometry(1,10,10), new THREE.MeshBasicMaterial({color:0xff0000}));
this.setObject3D(object);
}
Sphere.prototype.update= function() {
}
$(document).ready( function() {
var container= document.getElementById("container");
var app= new SphereApp();
app.init({container:container});
app.run();
});
</script>
</body>
</html>
我通过向 HTML div
元素添加一些属性来解决这个问题:
<div id="container" style="width:100%;height:100%;background-color:black;overflow:hidden; position:absolute;"> </div>
图纸没问题,但容器被隐藏了。
相关文章:
- jQuery中是否内置了任何字符串格式化函数
- 有人知道有没有jquery插件可以在图像上写文本,并让用户将其放置在图像内的任何位置
- 是否有任何内置方法可以更改JavaScript对象'的属性设置为某个值
- 使用谷歌地图绘制半径内的点
- 传单js:如何在地图上绘制任何标记的末尾获得Lat和lng
- 使用 CasperJS 时,是否可以在执行任何内联或外部 Javascript 之前与加载页面的 DOM 进行交互
- 模拟.js第一个程序:屏幕上没有绘制任何内容
- flot:无法绘制画布内包含标签的饼图
- 找不到“”;应用程序“;模板或视图.对象{fullName:“template:application”}将不呈现任何内
- 如何在没有任何内置函数的情况下将元素添加到数组中
- HTML5:画布没有绘制任何内容
- 如何获得元素id点击没有任何内联函数调用在javascript
- 在javascript/jquery中是否有任何内置功能来过滤邮件,如php's函数(!使用filter_var
- 在JavaScript中过滤数组,而不使用任何内置函数或新数组
- Jquery是否有任何内置方法来单独查找可验证的元素?
- 我可以检测鼠标当前是否在画布绘制函数内移动
- 我试图在不使用任何内置方法的情况下延迟此函数.为什么这行不通呢?
- 如何在不使用javascript中任何内置函数的情况下反转字符串
- 绘制圆形内接的正多边形
- Angular Bootstrap-ui 是否有任何内置函数来处理打开或关闭的东西