mirror of
https://github.com/Dejvino/roadtrip
synced 2024-11-14 13:03:28 +00:00
Added simple engine sound.
This commit is contained in:
parent
8049608ac3
commit
52bc6b6b01
BIN
assets/Sounds/engine.ogg
Normal file
BIN
assets/Sounds/engine.ogg
Normal file
Binary file not shown.
@ -38,7 +38,9 @@ javac.classpath=\
|
|||||||
${libs.jme3.classpath}:\
|
${libs.jme3.classpath}:\
|
||||||
${libs.jme3-libraries-physics.classpath}:\
|
${libs.jme3-libraries-physics.classpath}:\
|
||||||
${libs.jme3-libraries-physics-native.classpath}:\
|
${libs.jme3-libraries-physics-native.classpath}:\
|
||||||
${libs.jme3-test-data.classpath}
|
${libs.jme3-test-data.classpath}:\
|
||||||
|
${libs.jme3-libraries-oggvorbis.classpath}:\
|
||||||
|
${libs.jme3-libraries-lwjgl-minimum.classpath}
|
||||||
# Space-separated list of extra javac options
|
# Space-separated list of extra javac options
|
||||||
javac.compilerargs=
|
javac.compilerargs=
|
||||||
javac.deprecation=false
|
javac.deprecation=false
|
||||||
@ -76,7 +78,9 @@ run.classpath=\
|
|||||||
${libs.jme3-test-data.classpath}:\
|
${libs.jme3-test-data.classpath}:\
|
||||||
${libs.jme3-libraries-physics.classpath}:\
|
${libs.jme3-libraries-physics.classpath}:\
|
||||||
${libs.jme3-libraries-physics-native.classpath}:\
|
${libs.jme3-libraries-physics-native.classpath}:\
|
||||||
${file.reference.RoadTrip-assets}
|
${libs.jme3-libraries-oggvorbis.classpath}:\
|
||||||
|
${file.reference.RoadTrip-assets}:\
|
||||||
|
${libs.jme3-libraries-lwjgl-minimum.classpath}
|
||||||
# Space-separated list of JVM arguments used when running the project.
|
# Space-separated list of JVM arguments used when running the project.
|
||||||
# You may also define separate properties like run-sys-prop.name=value instead of -Dname=value.
|
# You may also define separate properties like run-sys-prop.name=value instead of -Dname=value.
|
||||||
# To set system properties for unit tests define test-sys-prop.name=value:
|
# To set system properties for unit tests define test-sys-prop.name=value:
|
||||||
|
@ -1,6 +1,8 @@
|
|||||||
package roadtrip;
|
package roadtrip;
|
||||||
|
|
||||||
import com.jme3.app.SimpleApplication;
|
import com.jme3.app.SimpleApplication;
|
||||||
|
import com.jme3.audio.AudioNode;
|
||||||
|
import com.jme3.audio.Environment;
|
||||||
import com.jme3.bullet.BulletAppState;
|
import com.jme3.bullet.BulletAppState;
|
||||||
import com.jme3.bullet.PhysicsSpace;
|
import com.jme3.bullet.PhysicsSpace;
|
||||||
import com.jme3.bullet.collision.shapes.BoxCollisionShape;
|
import com.jme3.bullet.collision.shapes.BoxCollisionShape;
|
||||||
@ -21,6 +23,8 @@ import com.jme3.scene.Node;
|
|||||||
import com.jme3.scene.Spatial;
|
import com.jme3.scene.Spatial;
|
||||||
import com.jme3.scene.shape.Box;
|
import com.jme3.scene.shape.Box;
|
||||||
import com.jme3.scene.shape.Cylinder;
|
import com.jme3.scene.shape.Cylinder;
|
||||||
|
import org.lwjgl.openal.AL10;
|
||||||
|
import org.lwjgl.openal.AL11;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
@ -34,7 +38,7 @@ public class RoadTrip extends SimpleApplication implements ActionListener {
|
|||||||
final int SPORT = 3;
|
final int SPORT = 3;
|
||||||
final int FOOT = 4;
|
final int FOOT = 4;
|
||||||
|
|
||||||
final int carType = FOOT;
|
final int carType = WEAK;
|
||||||
|
|
||||||
private BulletAppState bulletAppState;
|
private BulletAppState bulletAppState;
|
||||||
private VehicleControl vehicle;
|
private VehicleControl vehicle;
|
||||||
@ -42,6 +46,7 @@ public class RoadTrip extends SimpleApplication implements ActionListener {
|
|||||||
private float brakeForce = 100.0f;
|
private float brakeForce = 100.0f;
|
||||||
private float steeringValue = 0;
|
private float steeringValue = 0;
|
||||||
private float accelerationValue = 0;
|
private float accelerationValue = 0;
|
||||||
|
private float accelerationSmooth = 0;
|
||||||
private Vector3f jumpForce = new Vector3f(0, 3000, 0);
|
private Vector3f jumpForce = new Vector3f(0, 3000, 0);
|
||||||
private Vector3f walkDir = new Vector3f();
|
private Vector3f walkDir = new Vector3f();
|
||||||
|
|
||||||
@ -56,6 +61,8 @@ public class RoadTrip extends SimpleApplication implements ActionListener {
|
|||||||
Spatial car;
|
Spatial car;
|
||||||
private BetterCharacterControl playerPersonControl;
|
private BetterCharacterControl playerPersonControl;
|
||||||
|
|
||||||
|
AudioNode engineAudio;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void simpleInitApp() {
|
public void simpleInitApp() {
|
||||||
bulletAppState = new BulletAppState();
|
bulletAppState = new BulletAppState();
|
||||||
@ -64,9 +71,10 @@ public class RoadTrip extends SimpleApplication implements ActionListener {
|
|||||||
PhysicsTestHelper.createPhysicsTestWorld(rootNode, assetManager, bulletAppState.getPhysicsSpace());
|
PhysicsTestHelper.createPhysicsTestWorld(rootNode, assetManager, bulletAppState.getPhysicsSpace());
|
||||||
setupKeys();
|
setupKeys();
|
||||||
|
|
||||||
map = assetManager.loadModel("Scenes/TestMap.j3o");
|
audioRenderer.setEnvironment(Environment.Dungeon);
|
||||||
rootNode.attachChild(map);
|
AL10.alDistanceModel(AL11.AL_EXPONENT_DISTANCE);
|
||||||
getPhysicsSpace().addAll(map);
|
|
||||||
|
addMap();
|
||||||
|
|
||||||
if (carType == FOOT) {
|
if (carType == FOOT) {
|
||||||
addPlayerPerson();
|
addPlayerPerson();
|
||||||
@ -234,6 +242,16 @@ public class RoadTrip extends SimpleApplication implements ActionListener {
|
|||||||
}
|
}
|
||||||
vehicle.setPhysicsLocation(new Vector3f(5f, 30f, 5f));
|
vehicle.setPhysicsLocation(new Vector3f(5f, 30f, 5f));
|
||||||
|
|
||||||
|
engineAudio = new AudioNode(assetManager, "Sounds/engine.ogg", false);
|
||||||
|
engineAudio.setPositional(true);
|
||||||
|
engineAudio.setLooping(true);
|
||||||
|
engineAudio.setReverbEnabled(true);
|
||||||
|
engineAudio.setRefDistance(100000000);
|
||||||
|
engineAudio.setMaxDistance(100000000);
|
||||||
|
engineAudio.setLooping(true);
|
||||||
|
engineAudio.play();
|
||||||
|
vehicleNode.attachChild(engineAudio);
|
||||||
|
|
||||||
playerNode = vehicleNode;
|
playerNode = vehicleNode;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -243,6 +261,12 @@ public class RoadTrip extends SimpleApplication implements ActionListener {
|
|||||||
Vector3f newLocation = new Vector3f(playerLocation).add(new Vector3f(-1f, 1.5f, 2.4f).mult(20f));
|
Vector3f newLocation = new Vector3f(playerLocation).add(new Vector3f(-1f, 1.5f, 2.4f).mult(20f));
|
||||||
cam.setLocation(new Vector3f(cam.getLocation()).interpolate(newLocation, Math.min(tpf, 1f)));
|
cam.setLocation(new Vector3f(cam.getLocation()).interpolate(newLocation, Math.min(tpf, 1f)));
|
||||||
cam.lookAt(playerLocation, Vector3f.UNIT_Y);
|
cam.lookAt(playerLocation, Vector3f.UNIT_Y);
|
||||||
|
|
||||||
|
accelerationSmooth = (accelerationSmooth + accelerationValue * (tpf * 10f)) / (1 + tpf * 10f);
|
||||||
|
//engineAudio.setVelocity(new Vector3f(0, 0, 0));
|
||||||
|
//engineAudio.setLocalTranslation(x, 0, z);
|
||||||
|
engineAudio.updateGeometricState();
|
||||||
|
engineAudio.setPitch(Math.max(0.5f, Math.min(accelerationSmooth / accelerationForce * 2f, 2.0f)));
|
||||||
}
|
}
|
||||||
|
|
||||||
public void onAction(String binding, boolean value, float tpf) {
|
public void onAction(String binding, boolean value, float tpf) {
|
||||||
@ -373,4 +397,10 @@ public class RoadTrip extends SimpleApplication implements ActionListener {
|
|||||||
playerNode = addPerson();
|
playerNode = addPerson();
|
||||||
playerPersonControl = playerNode.getControl(BetterCharacterControl.class);
|
playerPersonControl = playerNode.getControl(BetterCharacterControl.class);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void addMap() {
|
||||||
|
map = assetManager.loadModel("Scenes/TestMap.j3o");
|
||||||
|
rootNode.attachChild(map);
|
||||||
|
getPhysicsSpace().addAll(map);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user