コード例 #1
0
        /// <summary>
        /// The main update function.
        /// </summary>
        override public void update()
        {
            if (FlxG.debug && FlxG.keys.justPressed(Keys.D2))
            {
                Globals.canSkip = true;
            }
            if (FlxG.debug && FlxG.keys.justPressed(Keys.D4))
            {
                Globals.hole = 19;
                for (int i = 0; i < 18; i++)
                {
                    Globals.scoreCard.Add(0);
                }
            }

            if (FlxG.keys.justPressed(Keys.B))
            {
                FlxG.showBounds = !FlxG.showBounds;
            }
            lee.soundState = sound.getState();

            //------------------------------------------------------------------
            //Console.WriteLine(sound.getName());

            if (state == GameState.Introduction)
            {
            }
            if (Globals.ACTIONJUSTPRESSED)
            {
                activator.visible = false;
            }
            if (sound.getState() == SoundState.Stopped || Globals.hole > 1 || Globals.canSkip)
            {
                if (Globals.ACTIONJUSTPRESSED)
                {
                    everyAction();
                }
                if (FlxControl.LEFTJUSTPRESSED)
                {
                    FlxG.play("putt/sfx/blip");
                    selected--;
                    if (selected < 0)
                    {
                        selected = 0;
                    }
                }
                if (FlxControl.RIGHTJUSTPRESSED || (FlxG.mouse.justPressed() && FlxG.mouse.x < (FlxG.width / 4) * 3))
                {
                    FlxG.play("putt/sfx/blip");
                    selected++;
                }

                framesElapsed++;

                if (state == GameState.Introduction)
                {
                    chooseIntroduction();
                }
                else if (state == GameState.ChooseClub)
                {
                    chooseClub();
                }
                else if (state == GameState.ChooseForce)
                {
                    chooseForce();
                }
                else if (state == GameState.Swing)
                {
                    chooseSwing();
                }
                else if (state == GameState.Power)
                {
                    choosePower();
                }
                else if (state == GameState.BallInPlay)
                {
                    ballInPlay();
                }
                else if (state == GameState.BallEnded)
                {
                    ballEnded();
                }
                else if (state == GameState.PlayAgain)
                {
                    choosePlayAgain();
                }
                else if (state == GameState.Reset)
                {
                    chooseReset();
                }
            }
            else
            {
            }

            //Console.WriteLine(rollTiles.getTile((int)(ball.x / 8),(int)(ball.y / 8)).ToString() );
            int tile = rollTiles.getTile((int)(ball.x / 8), (int)(ball.y / 8));

            if (tile != -1)
            {
                ball.adjustSpeedForTile(tile);
            }

            base.update();
        }
コード例 #2
0
        override public void update()
        {
            //Toggle the bounding box visibility
            if (FlxG.keys.justPressed(Microsoft.Xna.Framework.Input.Keys.B))
            {
                FlxG.showBounds = !FlxG.showBounds;
            }


            if (FlxG.mouse.pressedRightButton())
            {
                tiles.setTile((int)FlxG.mouse.x / 16, (int)FlxG.mouse.y / 16, 0, true);
            }
            if (FlxG.mouse.pressedLeftButton())
            {
                tiles.setTile((int)FlxG.mouse.x / 16, (int)FlxG.mouse.y / 16, 1, true);
            }

            int tile = tiles.getTile((int)FlxG.mouse.x / 16, (int)FlxG.mouse.y / 16);

            FlxG.setHudTextScale(1, 3);
            FlxG.setHudText(1, "The tile index you are hovering over is: " + tile.ToString());



            base.update();

            //Put the collide after base.update() to avoid flickering.
            FlxU.collide(spaceShip, tiles);

            int velValue = 500;

            if (FlxG.keys.A)
            {
                spaceShip.velocity.X = velValue * -1;
            }
            else if (FlxG.keys.D)
            {
                spaceShip.velocity.X = velValue;
            }
            else if (FlxG.keys.W)
            {
                spaceShip.velocity.Y = velValue * -1;
            }
            else if (FlxG.keys.S)
            {
                spaceShip.velocity.Y = velValue;
            }
            if (FlxG.keys.Z)
            {
                spaceShip.angle -= 5;
            }
            else if (FlxG.keys.X)
            {
                spaceShip.angle += 5;
            }
            else if (FlxG.keys.SPACE)
            {
                spaceShip.thrust = 500;
            }
            else if (FlxG.keys.L)
            {
                spaceShip.play("Transform");
                //FlxG.bloom.Visible = true;
            }
            else
            {
                spaceShip.thrust = 0;
            }
        }