This commit is contained in:
parent
4b2c005553
commit
70d7496324
1 changed files with 36 additions and 0 deletions
|
|
@ -9,9 +9,15 @@ import com.jme.bounding.BoundingBox;
|
||||||
import com.jme.scene.shape.Sphere;
|
import com.jme.scene.shape.Sphere;
|
||||||
import com.jme.scene.state.TextureState;
|
import com.jme.scene.state.TextureState;
|
||||||
import com.jme.image.Texture;
|
import com.jme.image.Texture;
|
||||||
|
import com.jme.input.InputHandler;
|
||||||
|
import com.jme.input.KeyInput;
|
||||||
|
import com.jme.input.action.InputAction;
|
||||||
|
import com.jme.input.action.InputActionEvent;
|
||||||
import com.jme.math.Vector3f;
|
import com.jme.math.Vector3f;
|
||||||
import com.jme.util.TextureManager;
|
import com.jme.util.TextureManager;
|
||||||
import com.jmex.physics.DynamicPhysicsNode;
|
import com.jmex.physics.DynamicPhysicsNode;
|
||||||
|
import com.jmex.physics.PhysicsSpace;
|
||||||
|
import com.jmex.physics.PhysicsUpdateCallback;
|
||||||
import com.jmex.physics.StaticPhysicsNode;
|
import com.jmex.physics.StaticPhysicsNode;
|
||||||
import com.jmex.physics.util.SimplePhysicsGame;
|
import com.jmex.physics.util.SimplePhysicsGame;
|
||||||
|
|
||||||
|
|
@ -19,6 +25,7 @@ public class SpaceGame extends SimplePhysicsGame {
|
||||||
private StaticPhysicsNode staticNode;
|
private StaticPhysicsNode staticNode;
|
||||||
private DynamicPhysicsNode dynamicNode;
|
private DynamicPhysicsNode dynamicNode;
|
||||||
private Environment environment;
|
private Environment environment;
|
||||||
|
private InputHandler physicsStepInputHandler;
|
||||||
|
|
||||||
public static void main(String[] args) {
|
public static void main(String[] args) {
|
||||||
Logger.getLogger("").setLevel( Level.WARNING );
|
Logger.getLogger("").setLevel( Level.WARNING );
|
||||||
|
|
@ -44,6 +51,21 @@ public class SpaceGame extends SimplePhysicsGame {
|
||||||
//light
|
//light
|
||||||
//TODO
|
//TODO
|
||||||
|
|
||||||
|
//controll
|
||||||
|
physicsStepInputHandler = new InputHandler();
|
||||||
|
getPhysicsSpace().addToUpdateCallbacks( new PhysicsUpdateCallback() {
|
||||||
|
public void beforeStep( PhysicsSpace space, float time ) {
|
||||||
|
physicsStepInputHandler.update( time );
|
||||||
|
}
|
||||||
|
public void afterStep( PhysicsSpace space, float time ) {
|
||||||
|
|
||||||
|
}
|
||||||
|
} );
|
||||||
|
physicsStepInputHandler.addAction( new MyInputAction( new Vector3f( 700, 0, 0 ) ),
|
||||||
|
InputHandler.DEVICE_KEYBOARD, KeyInput.KEY_HOME, InputHandler.AXIS_NONE, true );
|
||||||
|
physicsStepInputHandler.addAction( new MyInputAction( new Vector3f( -700, 0, 0 ) ),
|
||||||
|
InputHandler.DEVICE_KEYBOARD, KeyInput.KEY_END, InputHandler.AXIS_NONE, true );
|
||||||
|
|
||||||
//sphere
|
//sphere
|
||||||
Sphere s = new Sphere("Sphere", 10, 10, 25);
|
Sphere s = new Sphere("Sphere", 10, 10, 25);
|
||||||
s.setLocalTranslation(new Vector3f(0,0,-40));
|
s.setLocalTranslation(new Vector3f(0,0,-40));
|
||||||
|
|
@ -64,4 +86,18 @@ public class SpaceGame extends SimplePhysicsGame {
|
||||||
public void simpleUpdate(){
|
public void simpleUpdate(){
|
||||||
environment.update();
|
environment.update();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private class MyInputAction extends InputAction {
|
||||||
|
private final Vector3f direction;
|
||||||
|
private final Vector3f appliedForce = new Vector3f();
|
||||||
|
|
||||||
|
public MyInputAction( Vector3f direction ) {
|
||||||
|
this.direction = direction;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void performAction( InputActionEvent evt ) {
|
||||||
|
appliedForce.set( direction ).multLocal( evt.getTime() );
|
||||||
|
dynamicNode.addForce( appliedForce );
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
Loading…
Add table
Add a link
Reference in a new issue