public override void Update() { if (!isLocked) { Megaman mainCharacter = getGameWorld().megaman; if (mainCharacter.getPosX() - getPosX() > 400) { setPosX(mainCharacter.getPosX() - 400); } if (mainCharacter.getPosX() - getPosX() < 200) { setPosX(mainCharacter.getPosX() - 200); } if (mainCharacter.getPosY() - getPosY() > 400) { setPosY(mainCharacter.getPosY() - 400); } else if (mainCharacter.getPosY() - getPosY() < 250) { setPosY(mainCharacter.getPosY() - 250); } } }
public void Update() { switch (state) { case INIT_GAME: break; case TUTORIAL: TutorialUpdate(); break; case GAMEPLAY: particularObjectManager.UpdateObjects(); bulletManager.UpdateObjects(); physicalMap.Update(); camera.Update(); if (megaman.getPosX() > finalBossX && finalbossTrigger) { finalbossTrigger = false; switchState(TUTORIAL); tutorialState = MEETFINALBOSS; storyTutorial = 0; openIntroGameY = 550; boss = new FinalBoss(finalBossX + 700, 460, this); boss.setTeamType(ParticularObject.ENEMY_TEAM); boss.setDirection(ParticularObject.LEFT_DIR); particularObjectManager.addObject(boss); } if (megaman.getState() == ParticularObject.DEATH) { numberOfLife--; if (numberOfLife >= 0) { megaman.setBlood(100); megaman.setPosY(megaman.getPosY() - 50); megaman.setState(ParticularObject.NOBEHURT); particularObjectManager.addObject(megaman); } else { switchState(GAMEOVER); bgMusic.controls.stop(); } } if (!finalbossTrigger && boss.getState() == ParticularObject.DEATH) { switchState(GAMEWIN); } break; case GAMEOVER: break; case GAMEWIN: break; } }