3D Game Programming

(C. Jardin) #1
functionmakeTreeAt(x, z) {
vartrunk =newTHREE.Mesh(
newTHREE.CylinderGeometry(50, 50, 200),
newTHREE.MeshBasicMaterial({color: 0xA0522D})
);

vartop =newTHREE.Mesh(
newTHREE.SphereGeometry(150),
newTHREE.MeshBasicMaterial({color: 0x228B22})
);
top.position.y = 175;
trunk.add(top);

trunk.position.set(x, -75, z);
scene.add(trunk);
}

If you entered all that code correctly, you’ll see the avatar standing in front
of a forest of four trees.

That’s pretty cool, but how did we do that?


Breaking It Down


The first part of the forest-building is pretty easy to follow. We add trees at
different X and Z coordinates (remember that Y is up and down) around the
scene.

makeTreeAt( 500, 0);
makeTreeAt(-500, 0);
makeTreeAt( 750, -1000);
makeTreeAt(-750, -1000);

That’s easy enough, but how does that makeTreeAt() thing work?


As we’ll see in Chapter 5, Functions: Use and Use Again, on page 49, a Java-
Script function is a way to run the same code over and over. In this case, we

report erratum • discuss

Building a Forest with Functions • 41


Prepared exclusively for Michael Powell

Free download pdf