This commit is contained in:
parent
b02be8bcc6
commit
d818d544eb
9 changed files with 82 additions and 185 deletions
|
|
@ -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());
|
||||
}
|
||||
}
|
||||
58
src/sg/env/Environment.java
vendored
Normal file
58
src/sg/env/Environment.java
vendored
Normal file
|
|
@ -0,0 +1,58 @@
|
|||
package sg.env;
|
||||
|
||||
import sg.SpaceGame;
|
||||
|
||||
import com.jme.image.Texture;
|
||||
import com.jme.scene.Node;
|
||||
import com.jme.scene.Skybox;
|
||||
import com.jme.util.TextureManager;
|
||||
|
||||
public class Environment extends Node {
|
||||
|
||||
public Environment(){
|
||||
buildSkyBox();
|
||||
}
|
||||
|
||||
private void buildSkyBox() {
|
||||
Skybox 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();
|
||||
this.attachChild(skybox);
|
||||
}
|
||||
}
|
||||
5
src/sg/env/Envoriment.java
vendored
5
src/sg/env/Envoriment.java
vendored
|
|
@ -1,5 +0,0 @@
|
|||
package sg.env;
|
||||
|
||||
public class Envoriment {
|
||||
|
||||
}
|
||||
|
|
@ -1,102 +0,0 @@
|
|||
package sg.test;
|
||||
import com.jme.app.SimpleGame;
|
||||
import com.jme.renderer.ColorRGBA;
|
||||
import com.jme.scene.Skybox;
|
||||
import com.jme.scene.shape.Box;
|
||||
import com.jme.scene.shape.Sphere;
|
||||
import com.jme.light.PointLight;
|
||||
import com.jme.math.Vector3f;
|
||||
import com.jme.bounding.BoundingBox;
|
||||
import com.jme.scene.state.LightState;
|
||||
import com.jme.scene.state.TextureState;
|
||||
import com.jme.image.Texture;
|
||||
import com.jme.util.TextureManager;
|
||||
|
||||
|
||||
public class Lesson1 extends SimpleGame {
|
||||
private Skybox skybox;
|
||||
private Sphere s;
|
||||
private LightState lightState;
|
||||
|
||||
public static void main(String[] args) {
|
||||
Lesson1 app = new Lesson1();
|
||||
app.setConfigShowMode(ConfigShowMode.AlwaysShow);
|
||||
app.start();
|
||||
}
|
||||
|
||||
protected void simpleInitGame() {
|
||||
display.setTitle("Tutorial 1");
|
||||
|
||||
s = new Sphere("Sphere", 30, 30, 25);
|
||||
s.setLocalTranslation(new Vector3f(0,0,-40));
|
||||
s.setModelBound(new BoundingBox());
|
||||
s.updateModelBound();
|
||||
|
||||
Texture texture = TextureManager.loadTexture(
|
||||
Lesson1.class.getClassLoader().getResource(
|
||||
"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(this.skybox);
|
||||
}
|
||||
|
||||
public void simpleUpdate(){
|
||||
skybox.setLocalTranslation(cam.getLocation());
|
||||
}
|
||||
|
||||
private void buildSkyBox() {
|
||||
skybox = new Skybox("skybox", 500, 500, 500);
|
||||
|
||||
Texture north = TextureManager.loadTexture(
|
||||
Lesson1.class.getClassLoader().getResource(
|
||||
"sg/data/skybox/advanced/front.png"),
|
||||
Texture.MinificationFilter.BilinearNearestMipMap,
|
||||
Texture.MagnificationFilter.Bilinear);
|
||||
Texture south = TextureManager.loadTexture(
|
||||
Lesson1.class.getClassLoader().getResource(
|
||||
"sg/data/skybox/advanced/rest.png"),
|
||||
Texture.MinificationFilter.BilinearNearestMipMap,
|
||||
Texture.MagnificationFilter.Bilinear);
|
||||
Texture east = TextureManager.loadTexture(
|
||||
Lesson1.class.getClassLoader().getResource(
|
||||
"sg/data/skybox/advanced/rest.png"),
|
||||
Texture.MinificationFilter.BilinearNearestMipMap,
|
||||
Texture.MagnificationFilter.Bilinear);
|
||||
Texture west = TextureManager.loadTexture(
|
||||
Lesson1.class.getClassLoader().getResource(
|
||||
"sg/data/skybox/advanced/rest.png"),
|
||||
Texture.MinificationFilter.BilinearNearestMipMap,
|
||||
Texture.MagnificationFilter.Bilinear);
|
||||
Texture up = TextureManager.loadTexture(
|
||||
Lesson1.class.getClassLoader().getResource(
|
||||
"sg/data/skybox/advanced/rest.png"),
|
||||
Texture.MinificationFilter.BilinearNearestMipMap,
|
||||
Texture.MagnificationFilter.Bilinear);
|
||||
Texture down = TextureManager.loadTexture(
|
||||
Lesson1.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();
|
||||
// scene.attachChild(skybox);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue