This commit is contained in:
Daniel Collin 2009-03-10 13:41:26 +00:00
parent b02be8bcc6
commit d818d544eb
9 changed files with 82 additions and 185 deletions

View file

@ -3,22 +3,24 @@ package sg;
import java.util.logging.Level;
import java.util.logging.Logger;
import sg.env.Environment;
import com.jme.app.SimpleGame;
import com.jme.bounding.BoundingBox;
import com.jme.renderer.ColorRGBA;
import com.jme.scene.Skybox;
import com.jme.scene.shape.Sphere;
import com.jme.scene.state.LightState;
import com.jme.scene.state.TextureState;
import com.jme.image.Texture;
import com.jme.light.PointLight;
import com.jme.math.Vector3f;
import com.jme.util.TextureManager;
//import com.jmex.physics.DynamicPhysicsNode;
//import com.jmex.physics.StaticPhysicsNode;
//import com.jmex.physics.geometry.PhysicsBox;
//import com.jmex.physics.util.SimplePhysicsGame;
public class SpaceGame extends SimpleGame {
private Skybox skybox;
private LightState lightState;
//private StaticPhysicsNode staticNode;
//private DynamicPhysicsNode dynamicNode;
private Environment environment;
public static void main(String[] args) {
Logger.getLogger( "" ).setLevel( Level.WARNING );
@ -29,83 +31,35 @@ public class SpaceGame extends SimpleGame {
protected void simpleInitGame() {
display.setTitle("SpaceGame");
//physics
//staticNode = getPhysicsSpace().createStaticNode();
//rootNode.attachChild(staticNode);
//dynamicNode = getPhysicsSpace().createDynamicNode();
//rootNode.attachChild(dynamicNode);
//environment
environment = new Environment();
rootNode.attachChild(environment);
//sphere
Sphere s = new Sphere("Sphere", 30, 30, 25);
s.setLocalTranslation(new Vector3f(0,0,-40));
s.setModelBound(new BoundingBox());
s.updateModelBound();
Texture texture = TextureManager.loadTexture(
SpaceGame.class.getClassLoader().getResource(
"jmetest/data/images/Monkey.jpg"),
Texture.MinificationFilter.Trilinear,
Texture.MagnificationFilter.Bilinear);
"jmetest/data/images/Monkey.jpg"),
Texture.MinificationFilter.Trilinear,
Texture.MagnificationFilter.Bilinear);
TextureState ts = display.getRenderer().createTextureState();
ts.setEnabled(true);
ts.setTexture(texture);
s.setRenderState(ts);
rootNode.attachChild(s);
buildSkyBox();
rootNode.attachChild(skybox);
buildLighting();
rootNode.setRenderState(lightState);
}
public void simpleUpdate(){
skybox.setLocalTranslation(cam.getLocation());
}
private void buildSkyBox() {
skybox = new Skybox("skybox", 500, 500, 500);
Texture north = TextureManager.loadTexture(
SpaceGame.class.getClassLoader().getResource(
"sg/data/skybox/advanced/front.png"),
Texture.MinificationFilter.BilinearNearestMipMap,
Texture.MagnificationFilter.Bilinear);
Texture south = TextureManager.loadTexture(
SpaceGame.class.getClassLoader().getResource(
"sg/data/skybox/advanced/rest.png"),
Texture.MinificationFilter.BilinearNearestMipMap,
Texture.MagnificationFilter.Bilinear);
Texture east = TextureManager.loadTexture(
SpaceGame.class.getClassLoader().getResource(
"sg/data/skybox/advanced/rest.png"),
Texture.MinificationFilter.BilinearNearestMipMap,
Texture.MagnificationFilter.Bilinear);
Texture west = TextureManager.loadTexture(
SpaceGame.class.getClassLoader().getResource(
"sg/data/skybox/advanced/rest.png"),
Texture.MinificationFilter.BilinearNearestMipMap,
Texture.MagnificationFilter.Bilinear);
Texture up = TextureManager.loadTexture(
SpaceGame.class.getClassLoader().getResource(
"sg/data/skybox/advanced/rest.png"),
Texture.MinificationFilter.BilinearNearestMipMap,
Texture.MagnificationFilter.Bilinear);
Texture down = TextureManager.loadTexture(
SpaceGame.class.getClassLoader().getResource(
"sg/data/skybox/advanced/rest.png"),
Texture.MinificationFilter.BilinearNearestMipMap,
Texture.MagnificationFilter.Bilinear);
skybox.setTexture(Skybox.Face.North, north);
skybox.setTexture(Skybox.Face.West, west);
skybox.setTexture(Skybox.Face.South, south);
skybox.setTexture(Skybox.Face.East, east);
skybox.setTexture(Skybox.Face.Up, up);
skybox.setTexture(Skybox.Face.Down, down);
skybox.preloadTextures();
skybox.updateRenderState();
}
private void buildLighting() {
PointLight light = new PointLight();
light.setDiffuse( new ColorRGBA( 1.0f, 1.0f, 1.0f, 1.0f ) );
light.setAmbient( new ColorRGBA( 0.5f, 0.5f, 0.5f, 1.0f ) );
light.setLocation( new Vector3f( 100, 100, 100 ) );
light.setEnabled( true );
lightState = display.getRenderer().createLightState();
lightState.setEnabled( true );
lightState.attach( light );
environment.setLocalTranslation(cam.getLocation());
}
}