I have a variable named value under the Canvas class. I've created an Object named myCanvas that acts as an energy bar. I want to increment my energy value whenever my Pet class gets clicked. Any help would be appreciated. Let me know if you need more code
public void act()
{
if(Greenfoot.mouseClicked(Food.class))
{
MyWorld realWorld = (MyWorld) getWorld();
realWorld.myCanvas.value=realWorld.myCanvas.value+5;
}
idle();
}GreenfootImage img = new GreenfootImage(142,27);
int value = 0;
int col = 1; //col =1=green, col=2=blue
public Canvas()
{
img.setColor(Color.WHITE);
img.drawRect (0, 0, 141, 26);
img.drawString("NRG:" +value/81*100,1,18);
img.setColor(Color.BLUE);
img.fillRect(60,1,value,25);
setImage(img);
}
public void act()
{
updateBar();
}
public void updateBar()
{
img.clear();
img.setColor(Color.WHITE);
img.drawRect (0, 0, 141, 26);
img.drawString("NRG:"+value/81*100,1,18);
img.setColor(Color.BLUE);
img.fillRect(60,1,value,25);
setImage(img);
}public class MyWorld extends World
{
/**
* Constructor for objects of class MyWorld.
*
*/
Muffin myMuffin = new Muffin();
Canvas myCanvas = new Canvas();
Canvas myECanvas = new Canvas();
HealthBar myBar = new HealthBar();
Food myFood = new Food();
public MyWorld()
{
// Create a new world with 600x400 cells with a cell size of 1x1 pixels.
super(680, 425, 1);
addObject (myBar, 100, 15);
addObject(myCanvas, 75, 80);
addObject(myECanvas, 75, 50);
addObject(myFood, 600, 350);
}
}
