【发布时间】:2011-11-15 00:24:38
【问题描述】:
如果有人可以让这个人的一小段代码在他们的机器上运行,如果他们能帮助我,让我知道如何做,我将不胜感激。
我已经从这个页面获取了 HTML 和 JS:http://projects.harrynorthover.com/3dcircles/html/
不幸的是,当我在我的机器上(在本地主机上)运行他的代码时,它不起作用(没有出现圆圈)。
我的 CSS 也有一些问题。我很困惑。我把 CSS inline 用来解决默认设置加载 CSS (?)
的问题此时失败的代码来自 Chrome 开发者工具。
修改后的 HTML 代码(真的来自你的)是这样的:
<html>
<head>
<title>First 3D Javascript Experiment</title>
<style>
@CHARSET "UTF-8";
body {
border:0;
margin:0;
padding:20;
padding-top:10px;
background-color:#111111;
}
h2 {
color:#FFFFFF;
font-size:18;
font-family:Calibri;
margin-left:10px;
}
p {
color:#FFFFFF;
font-size:12;
font-family:Calibri;
margin-left:10px;
}
.canvasHolder {
width:800;
height:590;
border:thin dotted #CCCCCC;
}
canvas {
border:thin dotted #666666;
}
</style>
<script type="text/javascript" src="js/Three.js"></script>
</head>
<body>
<h2>3D Circles</h2>
<p style="color:#CCCCCC; float:left; padding-left:500px; margin-top:-31px;">A 3D experiment using Three,js, HTML5 Canvas & Javascript.</p>
<p><b>Click anywhere</b> in the square to <b>draw</b> some lovely <b>circles</b>.</p>
<p style="color:#666666; margin-top:-10px;">By Harry Northover - <b><a href="http://www.harrynorthover.com" style="color:#666666;">www.harrynorthover.com</a></b></p>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.4.4.min.js"></script>
<script type="text/javascript" src="js/3d.js"></script>
</body>
</html>
发生错误的JavaScript文件(所有文件都加载正常)是这样的(init();是第一个被调用的函数)
// 3d vars.
var camera;
var scene;
var renderer;
// size
var WIDTH = 800;
var HEIGHT = 600;
var circleColours = [0x0099CC, 0xCCCCCC, 0x9900CC];
var colourIndexToUse = 0;
var fadeAmount = 0.0000000005;
// used to tell when to draw.
var shouldDraw = false;
// mouse coordinates.
var mouseX;
var mouseY;
setInterval( invalidate, 10 );
function init() {
camera = new THREE.Camera( 75, WIDTH / HEIGHT, 1, 10000 );
scene = new THREE.Scene();
renderer = new THREE.CanvasRenderer();
renderer.setSize( WIDTH, HEIGHT );
camera.position.z = 700;
document.body.appendChild( renderer.domElement );
}
function invalidate()
{
if(shouldDraw) draw();
// fade all the current circles.
fade();
// render it all.
renderer.render( scene, camera );
}
function draw() {
for(var i = 0; i < 4; ++i)
{
var particle = new THREE.Particle( new THREE.ParticleCircleMaterial( circleColours[colourIndexToUse], Math.random() ) );
此时的错误是:
45 - Uncaught TypeError: undefined is not a function
draw3d.js:45
invalidate3d.js:35
我已经复制了所有我需要的文件(即从 THREE.js 下载)。
请帮忙,最困惑的
我假设因为在至少加载了一些三个组件之后发生错误,这是因为需要一些其他文件,或者不确定。
【问题讨论】:
-
看起来您缺少 2 个 JS 文件..
-
我在我的硬盘上搜索了这些文件,但它们不存在......在谷歌上查看,并没有提到与 THREE.js 有任何关系
标签: javascript html5-canvas three.js