From ceee192a2833e2cf156cd54873631d2bd370d9cc Mon Sep 17 00:00:00 2001 From: Ziver Koc Date: Wed, 11 Mar 2009 20:20:41 +0000 Subject: [PATCH] The hud(dosen't work) --- src/sg/states/HudState.java | 54 +++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 src/sg/states/HudState.java diff --git a/src/sg/states/HudState.java b/src/sg/states/HudState.java new file mode 100644 index 0000000..8f60c06 --- /dev/null +++ b/src/sg/states/HudState.java @@ -0,0 +1,54 @@ +package sg.states; + +import java.awt.Font; + +import com.jme.math.Vector3f; +import com.jme.renderer.Renderer; +import com.jme.scene.Node; +import com.jme.scene.Spatial.LightCombineMode; +import com.jme.scene.state.BlendState; +import com.jme.system.DisplaySystem; +import com.jmex.font3d.Font3D; +import com.jmex.font3d.Text3D; +import com.jmex.game.state.BasicGameState; + +public class HudState extends BasicGameState{ + private Node hudNode; + + + public HudState(String name) { + super(name); + + hudNode = new Node("hud"); + hudNode.setRenderQueueMode(Renderer.QUEUE_ORTHO); + hudNode.setLocalTranslation(new Vector3f( + DisplaySystem.getDisplaySystem().getWidth()/2, + DisplaySystem.getDisplaySystem().getHeight()/2,0)); + + //Add the alpha values for the transparent node + BlendState as = DisplaySystem.getDisplaySystem().getRenderer().createBlendState(); + as.setBlendEnabled(true); + as.setSourceFunction(BlendState.SourceFunction.SourceAlpha); + as.setDestinationFunction(BlendState.DestinationFunction.One); + as.setTestEnabled(true); + as.setTestFunction(BlendState.TestFunction.GreaterThan); + as.setEnabled(true); + + Font3D font = new Font3D(new Font("Arial", Font.PLAIN, 24), 0.001f, true, true, true); + Text3D text = font.createText("Testing 1, 2, 3", 50.0f, 0); + //text.setLocalScale(new Vector3f(5.0f, 5.0f, 0.01f)); + hudNode.attachChild(text); + + hudNode = new Node("hud_node"); + hudNode.setLightCombineMode(LightCombineMode.Off); + hudNode.setRenderState(as); + hudNode.updateRenderState(); + rootNode.attachChild(hudNode); + } + + public void update(float tpf) { + + // last thing + super.update(tpf); + } +}