我正在尝试使用philogl库,当我写作时,
<!DOCTYPE html>
<html>
<head>
<title>PGL2</title>
<script type="text/javascript" src="PhiloGL.js"></script>
<script type="text/javascript">
function webGLStart(){
alert('I m alive');
}
</script>
</head>
<body onload="webGLStart();">
<canvas id="c" style="width:500px; height:500px;"></canvas>
</body>
</html>
一切正常,但如果我在其中写一些philogl,
<!DOCTYPE html>
<html>
<head>
<title>PGL2</title>
<script type="text/javascript" src="PhiloGL.js"></script>
<script type="text/javascript">
function webGLStart(){
var triangle = new PhiloGL.O3D.Model({
vertices: [[0,1,0],[-1,-1,0],[1,-1,0]],
colors: [[1,0,0,1],[0,1,0,1],[0,0,1,1]]
});
var square = new PhiloGL.O3D.Model({
vertices: [[1,1,0],[-1,1,0],[1,-1,0],[-1,-1,0]],
colors: [[0.5,0.5,1,1],[0.5,0.5,1,1]],[0.5,0.5,1,1]
});
}
</script>
</head>
<body onload="webGLStart();">
<canvas id="c" style="width:500px; height:500px;"></canvas>
</body>
</html>
chrome和firefox给我一个错误,说明没有定义webGLStart()。 我的代码出了什么问题?
答案 0 :(得分:8)
这一行:
colors: [[0.5,0.5,1,1],[0.5,0.5,1,1]],[0.5,0.5,1,1]
在语法上是不正确的:结束“]”是在错误的地方。因此,功能定义“失败”,可以说,功能并不存在。
我确实刚刚醒来,所以我不确定我能发现什么问题。
答案 1 :(得分:0)
使用此“philogl”的方式必定存在错误,导致无法完全解释该函数。特别是,方括号的语法错误。然后该功能仍未定义。
将来你可以打开Firebug中的错误控制台(或者你喜欢的浏览器的等效控制台),看看你做错了什么。
此外,在脚本中更喜欢document.onload = function() { ... }
,而不是在HTML标记中嵌入脚本。