Added a progressbar class

This commit is contained in:
Ziver Koc 2007-04-23 15:13:23 +00:00
parent 1ec72d47ba
commit 5ea0a854c8
3 changed files with 87 additions and 31 deletions

View file

@ -1,5 +1,6 @@
package ei.game.scene;
import ei.engine.effects.ProgressBar;
import ei.engine.math.Vector2f;
import ei.engine.math.Vector4f;
import ei.engine.scene.Box;
@ -10,7 +11,7 @@ import ei.engine.texture.Texture;
public class SelectBox {
private Node selectNode;
private Node mouseOverNode;
private Sprite value;
private ProgressBar bar;
private int max;
private float width;
private static final float height = 3;
@ -31,25 +32,14 @@ public class SelectBox {
Texture tex = new Texture();
tex.setColor(new Vector4f(0.5f, 1.0f, 0.5f,1));
Texture tex2 = new Texture();
tex2.setColor(new Vector4f(0.3f, 1.0f, 0.3f, 0.6f));
value = new Sprite("Healthvalue",tex2);
value.setSize(new Vector2f(x,height));
value.setLocation(new Vector2f(0,-x/2+height/2));
selectNode.add(value);
mouseOverNode.add(value);
Box bar = new Box("bar",tex);
bar.setSize(new Vector2f(x,height));
bar.setLocation(new Vector2f(0,-x/2+height/2));
selectNode.add(bar);
mouseOverNode.add(bar);
bar = new ProgressBar("Health",width,height,max);
bar.getNode().setLocation(new Vector2f(0,-x/2+height/2));
selectNode.add(bar.getNode());
mouseOverNode.add(bar.getNode());
Box select = new Box("select",tex);
select.setSize(new Vector2f(x,y));
selectNode.add(select);
}
@ -78,17 +68,6 @@ public class SelectBox {
* @param v The value of the health bar
*/
public void setValue(int v){
value.setSize(new Vector2f(((float)v/max)*width,height));//(v/max)*width
value.setLocation(new Vector2f(-width/2+(((float)v/max)*width)/2,-width/2+height/2));
if(((float)v/max) < 0.15f){
value.getTexture().setColor(new Vector4f(1.0f, 0f, 0f, 0.6f));
}
else if(((float)v/max) < 0.50f){
value.getTexture().setColor(new Vector4f(1.0f, .95f, 0, 0.6f));
}
else{
value.getTexture().setColor(new Vector4f(0.3f, 1.0f, 0.3f, 0.6f));
}
bar.setValue(v);
}
}