Hello! I've been trying to create a HUD for my game. I have 4 icons which represent the gems, from to 0 to 3. Each gem has a color. Based on the index given to the method, a different colored gem object is created.
I'm getting Stack Overflow on the HUD constructor(the line above the for is the marked one)
How do I fix this?
EDIT:I meant array, not vector, sorry.
public class GemIndicator extends HUD
{
int cl;
public GemIndicator(int colorIndex)
{
cl=colorIndex;
switch(colorIndex)
{
case 0:
{
GreenfootImage color = new GreenfootImage("gemRed.png");
setImage(color);
break;
}
case 1:
{
GreenfootImage color = new GreenfootImage("gemBlue.png");
setImage(color);
break;
}
case 2:
{
GreenfootImage color = new GreenfootImage("gemGreen.png");
setImage(color);
break;
}
case 3:
{
GreenfootImage color = new GreenfootImage("gemYellow.png");
setImage(color);
break;
}
}
getImage().setTransparency(120);
}
public void act()
{
if(items.gems_taken[cl]==1)
getImage().setTransparency(255);
}
}public class HUD extends Actor
{
GemIndicator[] gi = new GemIndicator[5];
public HUD()
{
// if(MyWorld.gamemode==1)
{
for(int i=0;i<4;i++)
{
gi[i]=new GemIndicator(i);
getWorld().addObject(gi[i],100,100);
}
}
}
}

