Kaynağa Gözat

Added target distance counter above the compass.

master
Dejvino 7 yıl önce
ebeveyn
işleme
c0cffb6301
1 değiştirilmiş dosya ile 20 ekleme ve 0 silme
  1. +20
    -0
      src/roadtrip/RoadTrip.java

+ 20
- 0
src/roadtrip/RoadTrip.java Dosyayı Görüntüle

@@ -11,6 +11,9 @@ import com.jme3.bullet.collision.shapes.HeightfieldCollisionShape;
import com.jme3.bullet.control.BetterCharacterControl;
import com.jme3.bullet.control.RigidBodyControl;
import com.jme3.bullet.control.VehicleControl;
import com.jme3.font.BitmapFont;
import com.jme3.font.BitmapText;
import com.jme3.font.Rectangle;
import com.jme3.input.ChaseCamera;
import com.jme3.input.KeyInput;
import com.jme3.input.controls.ActionListener;
@@ -21,6 +24,7 @@ import com.jme3.math.ColorRGBA;
import com.jme3.math.FastMath;
import com.jme3.math.Quaternion;
import com.jme3.math.Vector3f;
import com.jme3.renderer.queue.RenderQueue;
import com.jme3.scene.CameraNode;
import com.jme3.scene.Geometry;
import com.jme3.scene.Node;
@@ -29,6 +33,7 @@ import com.jme3.scene.control.CameraControl.ControlDirection;
import com.jme3.scene.debug.Arrow;
import com.jme3.scene.shape.Box;
import com.jme3.scene.shape.Cylinder;
import com.jme3.scene.shape.Quad;
import com.jme3.terrain.geomipmap.TerrainGrid;
import com.jme3.terrain.geomipmap.TerrainGridListener;
import com.jme3.terrain.geomipmap.TerrainGridLodControl;
@@ -391,6 +396,8 @@ public class RoadTrip extends SimpleApplication implements ActionListener {
targetNode.setLocalTranslation(journeyTarget);
}
BitmapText txt;
private void addCompass()
{
Material matRed = new Material(getAssetManager(), "Common/MatDefs/Misc/Unshaded.j3md");
@@ -412,6 +419,17 @@ public class RoadTrip extends SimpleApplication implements ActionListener {
compassNode.attachChild(compassGeomS);
compassNode.attachChild(compassGeomW);
compassNode.attachChild(compassGeomE);
BitmapFont fnt = assetManager.loadFont("Interface/Fonts/Default.fnt");
txt = new BitmapText(fnt, false);
txt.setBox(new Rectangle(-5, 4, 10, 4));
txt.setAlignment(BitmapFont.Align.Center);
txt.setQueueBucket(RenderQueue.Bucket.Transparent);
txt.setSize( 1.2f );
txt.setText("Target");
txt.setLocalRotation(new Quaternion().fromAngles(0, 3.1415f, 0));
compassNode.attachChild(txt);
rootNode.attachChild(compassNode);
}
@@ -592,6 +610,8 @@ public class RoadTrip extends SimpleApplication implements ActionListener {
targetNode.setLocalTranslation(journeyTarget);
}
txt.setText(((int)targetDistance) + " m");
compassNode.setLocalTranslation(new Vector3f(playerNode.getWorldTranslation()).addLocal(0f, 5f, 0f));
compassNode.setLocalRotation(new Quaternion().fromAngles(0f, (float)Math.atan2(targetDir.x, targetDir.z)/*targetDir.angleBetween(Vector3f.UNIT_Z)*/, 0f));
}


Yükleniyor…
İptal
Kaydet