示例#1
0
        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);
                }
            }
        }
示例#2
0
        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;
            }
        }