When I tested it, explosions still happened when something ran into it. It should be fine where it is. Where it is, it just prevents damage, not the rest from happening.
if(!Hero.shieldActive){ Bar bar = cityWorld.getBar(); bar.subtract(10); }
getWorld().addObject(new explosionSmall(), getX(), getY()); getWorld().removeObject(this);
private boolean finished; public void act() { if (bar.value == 0 && !finished){ gameOver(); } if(!finished) { droneSpawn ++; if (droneSpawn > 150){ addObject(new Drone(),850,Greenfoot.getRandomNumber(300)); droneSpawn = 0; } hunterSpawn ++; if (hunterSpawn > 500){ int hunterSelection = Greenfoot.getRandomNumber(10); if (hunterSelection >= 6){ addObject(new HunterRam(),850,Greenfoot.getRandomNumber(215)+44); hunterSpawn = 0; } if (hunterSelection <= 5){ addObject(new HunterPattern(),Greenfoot.getRandomNumber(200)+520,400); hunterSpawn = 0; } } bomberSpawn ++; if (bomberSpawn > 1200){ int bomberSelection = Greenfoot.getRandomNumber(10); if (bomberSelection >= 6){ addObject(new BomberRam(),850,Greenfoot.getRandomNumber(73)+114); bomberSpawn = -300; } if (bomberSelection <= 5){ addObject(new BomberPattern(),950,Greenfoot.getRandomNumber(73)+114); bomberSpawn = -300; } } powerupSpawn ++; if (powerupSpawn > 800){ int powerupSelection = Greenfoot.getRandomNumber(10); if (powerupSelection >= 7){ addObject(new HealthPowerup(),850,Greenfoot.getRandomNumber(300)); powerupSpawn = 0; } if (powerupSelection <= 3){ addObject(new ShieldPowerup(),850,Greenfoot.getRandomNumber(300)); powerupSpawn = 0; } if ((powerupSelection >= 4) & (powerupSelection <=6)){ addObject(new WeaponPowerup(),850,Greenfoot.getRandomNumber(300)); powerupSpawn = 0; } } } } public void gameOver() { bgSound.stop(); scoreSound.playLoop(); removeObjects(getObjects(null)); Saver saver = new Saver(); saver.saveHighscore(theCounter.getValue()); ScoreBoard board = new ScoreBoard(getWidth(), getHeight()); addObject(board, getWidth() /2, getHeight() /2); addObject(new PlayAgain(), 393, 26); finished = true; }
public void act() { if (Greenfoot.mousePressed(this) ) { City city = (City) getWorld(); city.scoreSound.stop(); Greenfoot.setWorld(new City()); } }
if(shieldCounter>0){ shieldCounter--; } if(shieldCounter==0) { setImage("Hero.png"); shieldActive = false; } if(weaponCounter>0){ weaponCounter--; } if(weaponCounter==0) { weaponActive = false; }
if(shieldCounter>0){ shieldCounter--; } if(shieldCounter==0 && shieldActive) { setImage("Hero.png"); shieldActive = false; } if(weaponCounter>0){ weaponCounter--; } if(weaponCounter==0 && weaponActive) { weaponActive = false; setImage("Hero.png"); }
public void act() { if (Greenfoot.mousePressed(this) ) { City city = (City) getWorld(); city.scoreSound.stop(); Greenfoot.setWorld(new City()); } }
public void act() { if (Greenfoot.mousePressed(this) ) { City city = (City) getWorld(); city.started(); Greenfoot.setWorld(new City()); } }
public void started() { scoreSound.stop(); bgSound.playLoop(); }
public void stopped() { bgSound.pause(); scoreSound.pause(); }
GreenfootSound scoreSound; private boolean finished; public void stopped() { bgSound.pause(); scoreSound.pause(); } public void started() { if(finished)scoreSound.playLoop(); // so when pausing/unpausing, the correct sound plays if(!finished)bgSound.playLoop(); } public void act() { if (bar.value == 0 && !finished){ gameOver(); } if(!finished) { bgSound.playLoop(); // so the sound plays automatically when we create the world droneSpawn ++; if (droneSpawn > 150){ addObject(new Drone(),850,Greenfoot.getRandomNumber(300)); droneSpawn = 0; } hunterSpawn ++; if (hunterSpawn > 500){ int hunterSelection = Greenfoot.getRandomNumber(10); if (hunterSelection >= 6){ addObject(new HunterRam(),850,Greenfoot.getRandomNumber(215)+44); hunterSpawn = 0; } if (hunterSelection <= 5){ addObject(new HunterPattern(),Greenfoot.getRandomNumber(200)+520,400); hunterSpawn = 0; } } bomberSpawn ++; if (bomberSpawn > 1200){ int bomberSelection = Greenfoot.getRandomNumber(10); if (bomberSelection >= 6){ addObject(new BomberRam(),850,Greenfoot.getRandomNumber(73)+114); bomberSpawn = -300; } if (bomberSelection <= 5){ addObject(new BomberPattern(),950,Greenfoot.getRandomNumber(73)+114); bomberSpawn = -300; } } powerupSpawn ++; if (powerupSpawn > 800){ int powerupSelection = Greenfoot.getRandomNumber(10); if (powerupSelection >= 7){ addObject(new HealthPowerup(),850,Greenfoot.getRandomNumber(300)); powerupSpawn = 0; } if (powerupSelection <= 3){ addObject(new ShieldPowerup(),850,Greenfoot.getRandomNumber(300)); powerupSpawn = 0; } if ((powerupSelection >= 4) & (powerupSelection <=6)){ addObject(new WeaponPowerup(),850,Greenfoot.getRandomNumber(300)); powerupSpawn = 0; } } } } public void gameOver() { bgSound.stop(); scoreSound.playLoop(); removeObjects(getObjects(null)); Saver saver = new Saver(); saver.saveHighscore(theCounter.getValue()); ScoreBoard board = new ScoreBoard(getWidth(), getHeight()); addObject(board, getWidth() /2, getHeight() /2); addObject(new PlayAgain(), 393, 26); finished = true; }
public class PlayAgain extends Actor { /** * Act - do whatever the PlayAgain wants to do. This method is called whenever * the 'Act' or 'Run' button gets pressed in the environment. */ public void act() { if (Greenfoot.mousePressed(this) ) { City city = (City) getWorld(); city.scoreSound.stop(); Greenfoot.setWorld(new City()); } } }