- add check for negative force to BombControl

git-svn-id: https://jmonkeyengine.googlecode.com/svn/trunk@7120 75d07b2b-3a1a-0410-a2c5-0572b91ccdca
3.0
nor..67 14 years ago
parent 5012b2d3dd
commit 0a369b96d8
  1. 11
      engine/src/test/jme3test/bullet/BombControl.java

@ -95,7 +95,7 @@ public class BombControl extends RigidBodyControl implements PhysicsCollisionLis
space.add(ghostObject); space.add(ghostObject);
ghostObject.setPhysicsLocation(getPhysicsLocation(vector)); ghostObject.setPhysicsLocation(getPhysicsLocation(vector));
space.addTickListener(this); space.addTickListener(this);
if (effect != null && spatial.getParent()!=null) { if (effect != null && spatial.getParent() != null) {
curTime = 0; curTime = 0;
effect.setLocalTranslation(spatial.getLocalTranslation()); effect.setLocalTranslation(spatial.getLocalTranslation());
spatial.getParent().attachChild(effect); spatial.getParent().attachChild(effect);
@ -120,6 +120,7 @@ public class BombControl extends RigidBodyControl implements PhysicsCollisionLis
vector2.subtractLocal(vector); vector2.subtractLocal(vector);
float force = explosionRadius - vector2.length(); float force = explosionRadius - vector2.length();
force *= forceFactor; force *= forceFactor;
force = force > 0 ? force : 0;
vector2.normalizeLocal(); vector2.normalizeLocal();
vector2.multLocal(force); vector2.multLocal(force);
((PhysicsRigidBody) physicsCollisionObject).applyImpulse(vector2, Vector3f.ZERO); ((PhysicsRigidBody) physicsCollisionObject).applyImpulse(vector2, Vector3f.ZERO);
@ -133,9 +134,9 @@ public class BombControl extends RigidBodyControl implements PhysicsCollisionLis
public void update(float tpf) { public void update(float tpf) {
super.update(tpf); super.update(tpf);
if (enabled && curTime >= 0) { if (enabled && curTime >= 0) {
curTime+=tpf; curTime += tpf;
if(curTime>fxTime){ if (curTime > fxTime) {
curTime=-1; curTime = -1;
effect.removeFromParent(); effect.removeFromParent();
} }
} }
@ -165,6 +166,4 @@ public class BombControl extends RigidBodyControl implements PhysicsCollisionLis
public void write(JmeExporter ex) throws IOException { public void write(JmeExporter ex) throws IOException {
throw new UnsupportedOperationException("Saving not supported."); throw new UnsupportedOperationException("Saving not supported.");
} }
} }

Loading…
Cancel
Save