コード例 #1
0
        /**
         * Creates a new <code>FlxButton</code> object with a gray background and a
         * callback function on the UI thread.
         *
         * @param X The X position of the button.
         * @param Y The Y position of the button.
         * @param Label The text that you want to appear on the button.
         * @param OnClick The function to call whenever the button is clicked.
         */
        public FlxButton(float x = 0, float y = 0, String label = null, FlxButtonEvent Callback = null) : base(x, y)
        {
            if (label != null)
            {
                Label = new FlxText(x - 1, y + 3, 80, label);
                Label.setFormat(null, 8, new Color(0x33, 0x33, 0x33), "center", Color.Transparent);
                LabelOffset = new FlxPoint(-1, 3);
            }
            loadGraphic(ImgDefaultButton, true, false, 80, 20);
            _callback = Callback;

            /*
             * onUp = OnClick;
             *
             * onDown = null;
             * onOut = null;
             * onOver = null;
             */
            SoundOver = null;
            SoundOut  = null;
            SoundDown = null;
            SoundUp   = null;

            Status       = Normal;
            _onToggle    = false;
            _pressed     = false;
            _initialized = false;
        }
コード例 #2
0
        public override void destroy()
        {
            base.destroy();

            _blocks       = null;
            _decorations  = null;
            _bullets      = null;
            _player       = null;
            _enemies      = null;
            _spawners     = null;
            _enemyBullets = null;
            _littleGibs   = null;
            _bigGibs      = null;
            _hud          = null;
            _gunjam       = null;

            //meta groups, to help speed up collisions
            _objects = null;
            _hazards = null;

            //HUD/User Interface stuff
            _score  = null;
            _score2 = null;

            //_pad = null;
        }
コード例 #3
0
        public override void create()
        {
            FlxG.bgColor = FlxColor.BLACK;
            _items       = new FlxGroup();
            _states      = new List <FlxState> ();

            _states.Add(new Platformer());
            _states.Add(new SplitScreen());
            _states.Add(new BunnyPlayState());
            _states.Add(new ModePlayState());
            _states.Add(new Particles());
            _states.Add(new Collision());
            _states.Add(new Tilemap());

            _items.add(new FlxText(0, startY, FlxG.width, "Platformer").setFormat(null, 8, Color.White, "center", Color.Black));
            _items.add(new FlxText(0, (startY += 20), FlxG.width, "SplitScreen").setFormat(null, 8, Color.White, "center", Color.Black));
            _items.add(new FlxText(0, (startY += 20), FlxG.width, "BunnyMark").setFormat(null, 8, Color.White, "center", Color.Black));
            _items.add(new FlxText(0, (startY += 20), FlxG.width, "Mode").setFormat(null, 8, Color.White, "center", Color.Black));
            _items.add(new FlxText(0, (startY += 20), FlxG.width, "Particles").setFormat(null, 8, Color.White, "center", Color.Black));
            _items.add(new FlxText(0, (startY += 20), FlxG.width, "Collision").setFormat(null, 8, Color.White, "center", Color.Black));
            _items.add(new FlxText(0, (startY += 20), FlxG.width, "Auto Tilemap").setFormat(null, 8, Color.White, "center", Color.Black));

            add(_items);

            add(new FlxText(0, 15, FlxG.width, "-- MonoFlixel Examples --").setFormat(null, 16, Color.White, "center", Color.Black));

            _selected = new FlxText(FlxG.width / 2 - 80, ((FlxText)_items.Members [selectedID]).Y, FlxG.width, ">").setFormat(null, 8, Color.White, "left", Color.Black);

            add(_selected);
        }
コード例 #4
0
        public override void create()
        {
            _timer  = 0;
            _fading = false;
            FlxG.flash(Color.White);

            //Gibs emitted upon death
            FlxEmitter gibs = new FlxEmitter(0, -50);

            gibs.setSize((uint)FlxG.width, 0);
            gibs.setXSpeed();
            gibs.setYSpeed(0, 100);
            gibs.setRotation(-360, 360);
            gibs.gravity = 80;
            gibs.makeParticles(ImgGibs, 800, 32, true, 0);
            add(gibs);
            gibs.start(false, 0, 0.005f);

            FlxText text = new FlxText(0, FlxG.height / 2 - 35, FlxG.width, "VICTORY\n\nSCORE: " + FlxG.score);

            /*
             * if(Gdx.app.getType() == ApplicationType.WebGL)
             *      text.setFormat(ImgFont20,20,0xd8eba2,"center");
             * else
             *      text.setFormat(null,16,0xd8eba2,"center");*/
            add(text);
        }
コード例 #5
0
ファイル: ScoreCardState.cs プロジェクト: initials/Island
        override public void create()
        {
            FlxG.backColor = Color.White;

            base.create();

            FlxTileblock t = new FlxTileblock(8, 8, 256 - 16, 224 - 16);

            t.auto = FlxTileblock.HUDELEMENT;
            t.loadTiles("_sheet_window_06", 16, 16, 0);
            add(t);

            FlxG.playMp3("putt/music/March", 1.0f);

            text = new FlxText(16, 16, 200);
            text.setFormat(FlxG.Content.Load <SpriteFont>("flixel/initials/SMALL_PIXEL"), 1, Color.Black, FlxJustification.Left, Color.White);
            add(text);
            text.text = "Scorecard:\n";

            int total = 0;

            for (int i = 0; i < 18; i++)
            {
                try
                {
                    Console.WriteLine("Score for hole {0}: {1}", i + 1, Globals.scoreCard[i]);
                    text.text += string.Format("{0}: {1}, ", i + 1, Globals.scoreCard[i]);
                    total     += Globals.scoreCard[i];
                    if (i % 3 == 2)
                    {
                        text.text += "\n";
                    }
                }
                catch
                {
                }
            }

            text.text += string.Format("\nTotal: {0} / Par: 18 \n", total);;



            if (total <= 18 && Globals.hasPlayedHoleAgain == false)
            {
                text.text += "\nBonestorm.rom unlocked.";
            }
            else if (total >= 48)
            {
                text.text += "\nSix time national champion\nCarvello urges\nyou to keep practicing\nand improve your\nputting game.";
            }
            else if (total >= 32)
            {
                text.text += "\nYour putting game is improving\nrapidly.\nKeep it up, kid. ";
            }
            else if (total >= 24)
            {
                text.text += "\nYou're a real sharp shooter.";
            }
        }
コード例 #6
0
		public override void destroy()
		{
			base.destroy();
			gibs = null;
			/*playButton = null;*/
			title1 = null;
			title2 = null;
		}
コード例 #7
0
ファイル: FlxPathState.cs プロジェクト: akadjoker/XNAFlixel
        public void addPathPointWithMarker(float xPos, float yPos, int MarkerNumber)
        {
            p.add(xPos, yPos);

            FlxText t = new FlxText(xPos, yPos, 100);

            t.alignment = FlxJustification.Left;
            t.text      = MarkerNumber.ToString();
            t.setScrollFactors(1, 1);
            add(t);
        }
コード例 #8
0
        protected override void Create()
        {
            BackgroundColor    = Color.Gray;
            VisibleBoundingbox = true;
            spriteA            = new FlxSprite(10, 10);
            spriteA.MakeGraphic(128, 128, Color.White);
            spriteA.ScrollFactor = Vector2.Zero;

            spriteB = new FlxSprite(200, 400);
            spriteB.MakeGraphic(160, 16, Color.Yellow);
            spriteB.Immovable    = true;
            spriteB.ScrollFactor = new Vector2(0.5f, 0.5f);

            text1 = new FlxText("Font");

            text2           = new FlxText("Font", 0, 0, FlxG.Width);
            text2.Alignment = FlxTextAlign.LEFT;

            text3           = new FlxText("Font", 0, 0, FlxG.Width);
            text3.Alignment = FlxTextAlign.CENTER;

            text4           = new FlxText("Font", 0, 0, FlxG.Width);
            text4.Alignment = FlxTextAlign.RIGHT;

            text5             = new FlxText("BigFont", 0, 0, FlxG.Width, "Hello World");
            text5.BorderStyle = FlxTextBorderStyle.SHADOW;
            text5.BorderColor = Color.Black;
            text5.BorderSize  = 4;
            text5.ScreenCenter();

            text1.X = 10;
            text1.Y = FlxG.Height - 40;
            text2.X = 10;
            text2.Y = FlxG.Height - 20;
            text3.X = 10;
            text3.Y = FlxG.Height - 60;
            text4.X = 10;
            text4.Y = FlxG.Height - 80;

            flxBar = new FlxBar(50, 50);
            flxBar.CreateFilledBar(Color.DarkBlue, Color.Cyan, true, Color.Black);
            flxBar.Value = 40;
            flxBar.SetParent(spriteA, null, true, (int)(spriteA.FrameWidth - flxBar.Width) / 2, -20);

            Add(spriteA);
            Add(spriteB);
            Add(text1);
            Add(text2);
            Add(text3);
            Add(text4);
            Add(text5);
            Add(flxBar);
        }
コード例 #9
0
        public FlxSpriteButton CreateTextLabel(string text, string fontPath, Color?color = null, FlxTextAlign?alignment = null)
        {
            if (text != null)
            {
                FlxText flxText = new FlxText(fontPath, 0, 0, FrameWidth, text);
                flxText.SetFormat(null, color, alignment);
                flxText.Alpha = LabelAlphas[(int)Status];

                Label = flxText;
            }
            return(this);
        }
コード例 #10
0
        public LevelIntro()
        {
            //b1 = new FlxSprite(0, 0);
            //b1.createGraphic(FlxG.width, FlxG.height , Lemonade_Globals.GAMEBOY_COLOR_4);
            //b1.setScrollFactors(0, 0);
            //add(b1);

            //b2 = new FlxSprite(0, 0);
            //b2.createGraphic(FlxG.width, FlxG.height, Lemonade_Globals.GAMEBOY_COLOR_3);
            //b2.setScrollFactors(0, 0);
            //add(b2);

            //b3 = new FlxSprite(0, 0);
            //b3.createGraphic(FlxG.width , FlxG.height, Lemonade_Globals.GAMEBOY_COLOR_2);
            //b3.setScrollFactors(0, 0);
            //add(b3);

            //b4 = new FlxSprite(0, 0);
            //b4.createGraphic(FlxG.width , FlxG.height, Lemonade_Globals.GAMEBOY_COLOR_1);
            //b4.setScrollFactors(0, 0);
            //add(b4);

            block             = new FlxTileblock(0, 0, FlxG.width + 20, FlxG.height + 20);
            block.auto        = FlxTileblock.FRAMENUMBER;
            block.frameNumber = 0;
            block.setScrollFactors(0, 0);
            block.loadTiles(FlxG.Content.Load <Texture2D>("Lemonade/fade"), 20, 20, 0);

            add(block);


            bT1 = new FlxText(0, FlxG.height / 4, FlxG.width);
            bT1.setFormat(null, 3, Lemonade_Globals.GAMEBOY_COLOR_1, FlxJustification.Center, Lemonade_Globals.GAMEBOY_COLOR_3);

            bT1.text = Lemonade_Globals.niceLocationNames[Lemonade_Globals.location];
            add(bT1);

            bT2 = new FlxText(0, (FlxG.height / 4) * 3, FlxG.width);
            bT2.setFormat(null, 2, Lemonade_Globals.GAMEBOY_COLOR_1, FlxJustification.Center, Lemonade_Globals.GAMEBOY_COLOR_3);

            bT2.text = Lemonade_Globals.niceActorNames[Lemonade_Globals.location];
            add(bT2);


            textTween1 = new Tweener(FlxG.height / 4, -95, 1.20f, XNATweener.Elastic.EaseInOut);
            textTween2 = new Tweener((FlxG.height / 4) * 3, FlxG.height + 95, 1.5f, XNATweener.Elastic.EaseInOut);
            textTween3 = new Tweener(-20, FlxG.height / 4, 0.7f, XNATweener.Quintic.EaseOut);
            textTween4 = new Tweener(800, (FlxG.height / 4) * 3, 1.2f, XNATweener.Quintic.EaseOut);

            timer = 0.0f;
        }
コード例 #11
0
        override public void create()
        {
            FlxG.Framerate = 50;
            //FlxG.flashFramerate = 50;

            // Creates a new tilemap with no arguments
            collisionMap = new FlxTilemap();

            /*
             * FlxTilemaps are created using strings of comma seperated values (csv)
             * This string ends up looking something like this:
             *
             * 0,0,0,0,0,0,0,0,0,0,
             * 0,0,0,0,0,0,0,0,0,0,
             * 0,0,0,0,0,0,1,1,1,0,
             * 0,0,1,1,1,0,0,0,0,0,
             * ...
             *
             * Each '0' stands for an empty tile, and each '1' stands for
             * a solid tile
             *
             * When using the auto map generation, the '1's are converted into the corresponding frame
             * in the tileset.
             */

            // Initializes the map using the generated string, the tile images, and the tile size
            collisionMap.loadMapFile(default_auto, auto_tiles, (int)TILE_WIDTH, (int)TILE_HEIGHT, FlxTilemap.AUTO);
            add(collisionMap);

            highlightBox = new FlxObject(0, 0, TILE_WIDTH, TILE_HEIGHT);

            setupPlayer();

            // When switching between modes here, the map is reloaded with it's own data, so the positions of tiles are kept the same
            // Notice that different tilesets are used when the auto mode is switched
            autoAltBtn = new FlxButton(4, FlxG.height - 24, "AUTO", altButtonFunc);
            add(autoAltBtn);

            resetBtn = new FlxButton(8 + autoAltBtn.Width, FlxG.height - 24, "Reset", resetButtonFunc);
            add(resetBtn);

            quitBtn = new FlxButton(FlxG.width - resetBtn.Width - 4, FlxG.height - 24, "Quit", onQuit);
            add(quitBtn);

            helperTxt = new FlxText(5, 5, 150, "Click to place tiles. Shift-Click to remove tiles\nArrow keys to move");
            add(helperTxt);

            // Show mouse pointer
            FlxG.mouse.show();
        }
コード例 #12
0
        override public void create()
        {
            base.create();

            FlxG.mouse.show(FlxG.Content.Load <Texture2D>("flixel/cursor"));

            mouseInfo           = new FlxText(1, 1, 100);
            mouseInfo.text      = "Info:";
            mouseInfo.alignment = FlxJustification.Left;
            mouseInfo.setScrollFactors(1, 1);
            add(mouseInfo);

            FlxG.resetHud();

            string textInfo = "";

            textInfo  = "Choose:\n";
            textInfo += "1. Cheat State\n";
            textInfo += "2. Cave State\n";
            textInfo += "3. Race Or Die\n";
            textInfo += "4. Tweens\n";
            textInfo += "5. Robot Football\n";
            textInfo += "6. Animation Callbacks\n";
            textInfo += "7. FlxPath \n";
            textInfo += "8. Physics \n";
            textInfo += "9. Angle And Velocity\n";
            textInfo += "F2. Physics 2\n";
            textInfo += "F3. Island \n";
            textInfo += "F4. Island 2 \n";
            textInfo += "F5. Physics Hockey \n";
            textInfo += "F6. FlxBar \n";
            textInfo += "F7. Scrolling Test \n";

            textInfo += "Q. Garbage Tests \n";
            FlxG.setHudText(1, textInfo);
            FlxG.setHudTextPosition(1, 50, 20);
            FlxG.setHudTextScale(1, 2);
            FlxG.setHudGamepadButton(FlxHud.TYPE_KEYBOARD, FlxHud.Keyboard_1, FlxG.width - 120, 30);

            FlxG.showHud();

            /*
             *          FlxSprite logo = new FlxSprite(12, 12);
             *          logo.loadGraphic("flixel/surt/race_or_die", true, false, 64, 64);
             *          logo.addAnimation("Static", new int[] { 8 }, 0, true);
             *          logo.play("Static");
             *          logo.setDrags(5, 5);
             *          add(logo);
             */
        }
コード例 #13
0
        //PlayHud localHud;

        override public void create()
        {
            FlxG.backColor = Color.Black;

            base.create();

            FlxG.mouse.show(FlxG.Content.Load <Texture2D>("initials/crosshair"));

            //FlxG.backColor = new Color(0xc2, 0x88, 0x83);

            base.create();

            FlxG.resetHud();
            FlxG.showHud();

            _nameEntry = new FlxText(60, 150, FlxG.width);
            _nameEntry.setFormat(null, 2, Color.White, FlxJustification.Left, Color.White);
            _nameEntry.text = "";
            add(_nameEntry);

            try
            {
                _nameEntry.text = LoadFromDevice();
            }
            catch
            {
                Console.WriteLine("Cannot load name from file");
            }

            FlxG.showHud();
            FlxG.setHudText(1, "Enter name, use @ symbol to specify Twitter handle.\nPress enter when complete.");
            FlxG.setHudTextScale(1, 2);
            FlxG.setHudTextScale(3, 2);
            FlxG.setHudTextPosition(1, 30 * 2, 40 * 2);
            FlxG.setHudTextPosition(3, 10 * 2, 20 * 2);

            //play = new FlxButton(FlxG.width / 2 - 50, FlxG.height - 30, advanceToNextState, FlxButton.ControlPadA);
            ////play = new FlxButton(0, FlxG.height - 30, advanceToNextState, FlxButton.ControlPadA);

            //play.loadGraphic((new FlxSprite()).loadGraphic(FlxG.Content.Load<Texture2D>("fourchambers/menuButton"), false, false, 100, 20), (new FlxSprite()).loadGraphic(FlxG.Content.Load<Texture2D>("fourchambers/menuButtonPressed"), false, false, 100, 20));

            //play.loadText(new FlxText(2, 2, 100, "Enter"), new FlxText(2, 2, 100, "ENTER"));
            //add(play);

            FlxG.setHudGamepadButton(FlxHud.TYPE_XBOX, FlxButton.ControlPadA, FlxG.width / 2 + 54, FlxG.height - 100);

            FlxG.flash.start(Color.Black, 1.5f);
        }
コード例 #14
0
        public override void destroy()
        {
            /*
             * if(FlxG.getStage() != null)
             *      FlxG.getStage().removeEventListener(MouseEvent.MOUSE_UP, mouseUpListener);
             */

            if (FlxG.mouse != null)
            {
                FlxG.mouse.removeMouseListener(OnMouseUp);
            }

            if (Label != null)
            {
                Label.destroy();
                Label = null;
            }

            /*
             * OnUp = null;
             * OnDown = null;
             * OnOut = null;
             * OnOver = null;
             */
            if (SoundOver != null)
            {
                SoundOver.destroy();
            }
            if (SoundOut != null)
            {
                SoundOut.destroy();
            }
            if (SoundDown != null)
            {
                SoundDown.destroy();
            }
            if (SoundUp != null)
            {
                SoundUp.destroy();
            }
            base.destroy();
        }
コード例 #15
0
        public override void create()
        {
            FlxG.debug = true;

            // The grass background
            FlxSprite grass = new FlxSprite(0, 0).loadGraphic(ImgGrass, false, false, FlxG.width, FlxG.height);

            add(grass);

            add(_bunnies = new FlxGroup());


            // Text display
            add(_bunnyCounter = new FlxText(0, FlxG.height - 20, FlxG.width).setFormat(null, 8, Color.White, "right", Color.Black));
            add(_memoryUsage  = new FlxText(5, FlxG.height - 20, 200).setFormat(null, 8, Color.White, "left", Color.Black));

            // Buttons Left side
            float leftBtnY = 20;

            add(new FlxButton(leftBtnY, 25, "+" + INITIAL_AMOUNT, addBunnies));
            add(new FlxButton(leftBtnY, 50, "-" + INITIAL_AMOUNT, removeBunnies));

            // Buttons right side
            float rightBtnX = FlxG.width - 100;

            add(_complexityButton = new FlxButton(rightBtnX, 25, "Complex", ComplexityCallback));
            add(_collisionButton  = new FlxButton(rightBtnX, 65, "Collision ON", CollisionCallback));

            // Finally create the bunnies
            addBunnies();

            // Force GC
            GC.Collect();

            // Timer to update the memory usage
            _memoryTimer = new FlxTimer();
            updateMemoryUsage();

            // Show mouse pointer
            FlxG.mouse.show();
        }
コード例 #16
0
ファイル: PlayState.cs プロジェクト: mayur70/MonoFlixelEngine
        protected override void Create()
        {
            //VisibleHitbox = true;
            int screenMiddleX = (int)Math.Floor(FlxG.Width / 2f);
            int screenMiddleY = (int)Math.Floor(FlxG.Height / 2f);

            _snakeHead = new FlxSprite(screenMiddleX - BLOCK_SIZE * 2, screenMiddleY);
            _snakeHead.MakeGraphic(BLOCK_SIZE - 2, BLOCK_SIZE - 2, Color.Lime);
            _snakeHead.DebugColor = Color.Yellow;
            OffsetSprite(_snakeHead);

            _headPositions = new List <Vector2>
            {
                new Vector2(_snakeHead.X, _snakeHead.Y)
            };

            _snakeBody = new FlxSpriteGroup();
            Add(_snakeBody);

            for (int i = 0; i < 3; i++)
            {
                AddSegment();
                MoveSnake();
            }

            Add(_snakeHead);

            _fruit = new FlxSprite();
            _fruit.MakeGraphic(BLOCK_SIZE - 2, BLOCK_SIZE - 2, Color.Red);
            RandomizeFruitPosition();
            OffsetSprite(_fruit);
            Add(_fruit);

            _scoreText = new FlxText(0, 0, 200, "Score: " + _score);
            Add(_scoreText);

            ResetTimer();

            _gameOverSound = Game.Content.Load <SoundEffect>(FlxAssets.SOUND_FLIXEL);
            _beepSound     = Game.Content.Load <SoundEffect>(FlxAssets.SOUND_BEEP);
        }
コード例 #17
0
ファイル: LoadRomState.cs プロジェクト: initials/Island
        override public void create()
        {
            base.create();

            selection = 0;

            games = new List <string> ();
            games.Add("Lee Carvallo's Putting Challenge");
            games.Add("Bonestorm");
            games.Add("Bonestorm II");
            games.Add("Bonesquad");
            games.Add("Billy Graham's Bible Blaster");
            games.Add("Bowling 2000");
            games.Add("Chevy Chase Foul Play");
            games.Add("Disembowler IV - The game where condemned criminals dig at each other with rusty hooks.");
            games.Add("Escape from Death Row");
            games.Add("Escape from Grandma's House");
            games.Add("Escape from Grandma's House II");
            games.Add("Larry the Looter");
            games.Add("Polybius");
            games.Add("Super Slugfest");
            games.Add("Tandem Bike Ride With Your Mom");
            games.Add("Triangle Wars");

            //games.Add("");


            gamesDisplay = new FlxText(2, 12, 200);
            //text1.setFormat(FlxG.Content.Load<SpriteFont>("Lemonade/SMALL_PIXEL"), 3, new Color(237, 0, 142), FlxJustification.Center, Color.Black);
            gamesDisplay.setFormat(FlxG.Content.Load <SpriteFont>("flixel/initials/SMALL_PIXEL"), 1, Color.White, FlxJustification.Left, Color.Black); //FlxG.Content.Load<SpriteFont> ("")
            add(gamesDisplay);

            status = new FlxText(2, 2, 200);
            status.setFormat(FlxG.Content.Load <SpriteFont>("flixel/initials/SMALL_PIXEL"), 1, Color.Red, FlxJustification.Left, Color.Black); //FlxG.Content.Load<SpriteFont> ("")
            add(status);
        }
コード例 #18
0
        override public void create()
        {
            base.create();

            // play some music



            FlxG.playMp3("Lemonade/music/music_menu_1", 0.75f);

            // load some tile maps

            List <Dictionary <string, string> > bgString = FlxXMLReader.readNodesFromTmxFile("Lemonade/levels/slf2/newyork/bgnewyork.tmx", "map", "bg", FlxXMLReader.TILES);

            ny             = new FlxTilemap();
            ny.auto        = FlxTilemap.STRING;
            ny.indexOffset = -1;
            ny.loadMap(bgString[0]["csvData"], FlxG.Content.Load <Texture2D>("Lemonade/bgtiles_newyork"), 20, 20);
            ny.boundingBoxOverride = true;
            ny.setScrollFactors(0, 0);
            ny.visible = false;
            add(ny);

            bgString           = FlxXMLReader.readNodesFromTmxFile("Lemonade/levels/slf2/sydney/bgsydney.tmx", "map", "bg", FlxXMLReader.TILES);
            sydney             = new FlxTilemap();
            sydney.auto        = FlxTilemap.STRING;
            sydney.indexOffset = -1;
            sydney.loadMap(bgString[0]["csvData"], FlxG.Content.Load <Texture2D>("Lemonade/bgtiles_sydney"), 20, 20);
            sydney.boundingBoxOverride = true;
            sydney.setScrollFactors(0, 0);
            sydney.visible = false;
            add(sydney);

            bgString            = FlxXMLReader.readNodesFromTmxFile("Lemonade/levels/slf2/military/bgmilitary.tmx", "map", "bg", FlxXMLReader.TILES);
            miltary             = new FlxTilemap();
            miltary.auto        = FlxTilemap.STRING;
            miltary.indexOffset = -1;
            miltary.loadMap(bgString[0]["csvData"], FlxG.Content.Load <Texture2D>("Lemonade/bgtiles_military"), 20, 20);
            miltary.boundingBoxOverride = true;
            miltary.setScrollFactors(0, 0);
            miltary.visible = false;
            add(miltary);

            //FlxG.mouse.show(FlxG.Content.Load<Texture2D>("Mode/cursor"));

            FlxButton b = new FlxButton((FlxG.width / 2) - 100, 150, startGame);

            b.loadGraphic(new FlxSprite().loadGraphic(FlxG.Content.Load <Texture2D>("Lemonade/button_ny")), new FlxSprite().loadGraphic(FlxG.Content.Load <Texture2D>("Lemonade/buttonPressed_ny")));
            b.loadText(new FlxText(-20, 10, 100, "Sydney"), new FlxText(-20, 10, 100, "Sydney!"));
            buttons.add(b);

            b = new FlxButton(FlxG.width / 2, 150, startGame);
            b.loadGraphic(new FlxSprite().loadGraphic(FlxG.Content.Load <Texture2D>("Lemonade/button_ny")), new FlxSprite().loadGraphic(FlxG.Content.Load <Texture2D>("Lemonade/buttonPressed_ny")));
            b.loadText(new FlxText(-20, 10, 100, "New York"), new FlxText(-20, 10, 100, "New York!"));
            buttons.add(b);

            b = new FlxButton((FlxG.width / 2) + 100, 150, startGame);
            b.loadGraphic(new FlxSprite().loadGraphic(FlxG.Content.Load <Texture2D>("Lemonade/button_ny")), new FlxSprite().loadGraphic(FlxG.Content.Load <Texture2D>("Lemonade/buttonPressed_ny")));
            b.loadText(new FlxText(-20, 10, 100, "Military"), new FlxText(-20, 10, 100, "Military!"));
            buttons.add(b);


            for (int i = 1; i < 13; i++)
            {
                FlxButton a = new FlxButton(175 + (i * 45), 225, startGame);
                a.loadGraphic(new FlxSprite().loadGraphic(FlxG.Content.Load <Texture2D>("Lemonade/button_ny")), new FlxSprite().loadGraphic(FlxG.Content.Load <Texture2D>("Lemonade/buttonPressed_ny")));
                a.loadText(new FlxText(-40, 10, 100, i.ToString()), new FlxText(-40, 10, 100, i.ToString() + "!"));

                buttons.add(a);
            }

            b = new FlxButton((FlxG.width / 2) - 100, 275, startMultiplayerGame);
            b.loadGraphic(new FlxSprite().loadGraphic(FlxG.Content.Load <Texture2D>("Lemonade/button_ny")), new FlxSprite().loadGraphic(FlxG.Content.Load <Texture2D>("Lemonade/buttonPressed_ny")));
            b.loadText(new FlxText(-20, 10, 100, "Multiplayer"), new FlxText(-20, 10, 100, "Multiplayer!"));
            buttons.add(b);


            location = new FlxText(0, 50, FlxG.width);
            location.setFormat(FlxG.Content.Load <SpriteFont>("Lemonade/SMALL_PIXEL"), 3, Color.White, FlxJustification.Center, Color.Black);
            location.text = "";
            add(location);


            addButtons();

            FlxText badges = new FlxText(0, 330, 0, "Badges");

            badges.setFormat(FlxG.Content.Load <SpriteFont>("Lemonade/SMALL_PIXEL"), 3, Color.White, FlxJustification.Left, Color.Black);
            add(badges);

            Color notDone = new Color(0.1f, 0.1f, 0.1f);


            badge1 = new FlxSprite((FlxG.width / 2) - 150, 330);
            badge1.loadGraphic(FlxG.Content.Load <Texture2D>("Lemonade/offscreenIcons"), true, false, 12, 12);
            badge1.frame = 2;
            badge1.color = notDone;
            add(badge1);

            badge2 = new FlxSprite((FlxG.width / 2) - 50, 330);
            badge2.loadGraphic(FlxG.Content.Load <Texture2D>("Lemonade/offscreenIcons"), true, false, 12, 12);
            badge2.frame = 3;
            badge2.color = notDone;
            add(badge2);

            badge3 = new FlxSprite((FlxG.width / 2) + 50, 330);
            badge3.loadGraphic(FlxG.Content.Load <Texture2D>("Lemonade/offscreenIcons"), true, false, 12, 12);
            badge3.frame = 4;
            badge3.color = notDone;
            add(badge3);

            badge4 = new FlxSprite((FlxG.width / 2) + 150, 330);
            badge4.loadGraphic(FlxG.Content.Load <Texture2D>("Lemonade/offscreenIcons"), true, false, 12, 12);
            badge4.frame = 5;
            badge4.color = notDone;
            add(badge4);

            tweenBounce          = new Tweener(5.0f, 8.0f, TimeSpan.FromSeconds(1.12f), Elastic.EaseOut);
            tweenBounce.PingPong = true;


            try
            {
                FlxG.username = LoadFromDevice();
            }
            catch
            {
                Console.WriteLine("Cannot load name from file");
            }

            if (FlxG.username != "")
            {
                //_nameEntry.text = FlxG.username;
                FlxG.setHudText(3, "Username:\n" + FlxG.username);
                FlxG.setHudTextPosition(3, 50, FlxG.height - 30);
                FlxG.setHudTextScale(3, 2);
            }
        }
コード例 #19
0
        public Hud(int xPos, int yPos)
            : base(xPos, yPos)
        {
            loadGraphic(FlxG.Content.Load <Texture2D>("Lemonade/currentChar"), true, false, 14, 28);

            setScrollFactors(0, 0);

            addAnimation("andre", new int[] { 2 }, 0, true);

            play("andre");


            coin = new Coin(FlxG.width - 24, 2, true);
            coin.setScrollFactors(0, 0);

            coinCounter = new FlxText(FlxG.width - 36, 10, 100);
            coinCounter.setFormat(null, 1, Lemonade_Globals.GAMEBOY_COLOR_4, FlxJustification.Left, Lemonade_Globals.GAMEBOY_COLOR_1);
            coinCounter.alignment = FlxJustification.Left;
            coinCounter.setScrollFactors(0, 0);

            toastySprite = new FlxSprite(0, FlxG.height);

            string person = "Lemonade/illustration/andre_drawing";
            int    ran    = (int)FlxU.random(0, 4);

            switch (ran)
            {
            case 0:
                person = "Lemonade/illustration/andre_drawing";
                break;

            case 1:
                person = "Lemonade/illustration/liselot_drawing";
                break;

            case 2:
                person = "Lemonade/illustration/army_drawing";
                break;

            case 3:
                person = "Lemonade/illustration/worker_drawing";
                break;

            default:
                person = "Lemonade/illustration/andre_drawing";
                break;
            }

            toastySprite.loadGraphic(person, false, false, 302, 640);
            toastySprite.setScrollFactors(0, 0);

            tween = new Tweener(4, 12, 1, Quadratic.EaseInOut);
            tween.Start();
            tween.PingPong = true;

            powerBar = new FlxGroup();

            for (int i = 0; i < 30; i++)
            {
                int offsetY = 0;
                int offsetS = 0;

                                #if __ANDROID__
                offsetY = 50;
                offsetS = 150;
                                #endif

                FlxSprite bar = new FlxSprite(offsetS + 5 + (i * 10), FlxG.height - 10 - offsetY);
                bar.createGraphic(8, 8, Lemonade_Globals.GAMEBOY_COLOR_4);
                bar.setScrollFactors(0, 0);
                powerBar.add(bar);
            }
        }
コード例 #20
0
        public override void create()
        {
            // Background color
            FlxG.bgColor     = (FlxColor.GREEN);
            FlxG.worldBounds = new FlxRect(0, 0, 320, 240);

            //Design your platformer level with 1s and 0s (at 40x30 to fill 320x240 screen)
            int[] data =
            {
                1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
                1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
                1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
                1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
                1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
                1, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
                1, 0, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1,
                1, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1,
                1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
                1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
                1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
                1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
                1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1,
                1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1,
                1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
                1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
                1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
                1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
                1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1,
                1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1,
                1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1,
                1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
                1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
                1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
                1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
                1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
                1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
                1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 0, 1,
                1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1,
                1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1
            };

            //Create a new tilemap using our level data
            level = new FlxTilemap();
            level.loadMap(FlxTilemap.arrayToCSV(data, 40), FlxTilemap.ImgAuto, 0, 0, FlxTilemap.AUTO);
            add(level);

            //Create the level exit, a dark gray box that is hidden at first
            exit = new FlxSprite(35 * 8 + 1, 25 * 8);
            exit.makeGraphic(14, 16, FlxColor.BLUE);
            exit.Exists = false;
            add(exit);

            //Create coins to collect (see createCoin() function below for more info)
            coins = new FlxGroup();
            //Top left coins
            createCoin(18, 4);
            createCoin(12, 4);
            createCoin(9, 4);
            createCoin(8, 11);
            createCoin(1, 7);
            createCoin(3, 4);
            createCoin(5, 2);
            createCoin(15, 11);
            createCoin(16, 11);

            //Bottom left coins
            createCoin(3, 16);
            createCoin(4, 16);
            createCoin(1, 23);
            createCoin(2, 23);
            createCoin(3, 23);
            createCoin(4, 23);
            createCoin(5, 23);
            createCoin(12, 26);
            createCoin(13, 26);
            createCoin(17, 20);
            createCoin(18, 20);

            //Top right coins
            createCoin(21, 4);
            createCoin(26, 2);
            createCoin(29, 2);
            createCoin(31, 5);
            createCoin(34, 5);
            createCoin(36, 8);
            createCoin(33, 11);
            createCoin(31, 11);
            createCoin(29, 11);
            createCoin(27, 11);
            createCoin(25, 11);
            createCoin(36, 14);

            //Bottom right coins
            createCoin(38, 17);
            createCoin(33, 17);
            createCoin(28, 19);
            createCoin(25, 20);
            createCoin(18, 26);
            createCoin(22, 26);
            createCoin(26, 26);
            createCoin(30, 26);

            add(coins);

            //Create player (a red box)
            player = new FlxSprite(FlxG.width / 2 - 5);
            player.makeGraphic(10, 12, FlxColor.RED);
            player.MaxVelocity.X  = 80;
            player.MaxVelocity.Y  = 200;
            player.Acceleration.Y = 200;
            player.Drag.X         = player.MaxVelocity.X * 4;
            add(player);

            score = new FlxText(2, 2, 80, "SCORE: ");
            //score.setShadow(FlxColor.BLACK);
            score.text = "SCORE: " + (coins.CountDead() * 100);
            add(score);

            status = new FlxText(FlxG.width - 160 - 2, 2, 160);
            //status.setShadow(0xff000000);
            //status.setAlignment("right");
            switch (FlxG.score)
            {
            case 0:
                status.text = "Collect coins.";
                break;

            case 1:
                status.text = "Aww, you died!";
                break;
            }
            add(status);
        }
コード例 #21
0
        override public void create()
        {
            base.create();

            Lemonade_Globals.totalCoins = Lemonade_Globals.calculateTotalCoins();

            FlxTilemap bgMap = new FlxTilemap();

            bgMap.auto        = FlxTilemap.STRING;
            bgMap.indexOffset = -1;
            bgMap.loadTMXMap("Lemonade/levels/slf2/newyork/newyork_intro.tmx", "map", "bg", FlxXMLReader.TILES, FlxG.Content.Load <Texture2D>("Lemonade/bgtiles_newyork"), 20, 20);
            bgMap.boundingBoxOverride = false;
            bgMap.setScrollFactors(1, 1);
            add(bgMap);

            bgMap             = new FlxTilemap();
            bgMap.auto        = FlxTilemap.STRING;
            bgMap.indexOffset = -1;
            bgMap.loadTMXMap("Lemonade/levels/slf2/newyork/newyork_intro.tmx", "map", "bg2", FlxXMLReader.TILES, FlxG.Content.Load <Texture2D>("Lemonade/bgtiles_newyork"), 20, 20);
            bgMap.boundingBoxOverride = false;
            bgMap.setScrollFactors(1, 1);
            add(bgMap);

            FlxTilemap bgMap3 = new FlxTilemap();

            bgMap3.auto        = FlxTilemap.STRING;
            bgMap3.indexOffset = -1;
            bgMap3.loadTMXMap("Lemonade/levels/slf2/newyork/newyork_intro.tmx", "map", "stars", FlxXMLReader.TILES, FlxG.Content.Load <Texture2D>("Lemonade/bgtiles_newyork"), 20, 20);
            bgMap3.boundingBoxOverride = false;
            bgMap3.setScrollFactors(0.5f, 0.5f);
            add(bgMap3);

            FlxTilemap bgMap4 = new FlxTilemap();

            bgMap4.auto        = FlxTilemap.STRING;
            bgMap4.indexOffset = -1;
            bgMap4.loadTMXMap("Lemonade/levels/slf2/newyork/newyork_intro.tmx", "map", "city", FlxXMLReader.TILES, FlxG.Content.Load <Texture2D>("Lemonade/bgtiles_newyork"), 20, 20);
            bgMap4.boundingBoxOverride = false;
            bgMap4.setScrollFactors(1, 1);
            add(bgMap4);

            follower         = new FlxSprite(400, 1500);
            follower.visible = false;
            add(follower);
            follower.velocity.Y = this.speed;

            FlxG.follow(follower, 20.0f);
            FlxG.followBounds(0, 0, int.MaxValue, 2000);

            int textSize = 2;

                        #if __ANDROID__
            textSize = 4;
                        #endif


            heading = new FlxText(0, 50, FlxG.width, "Collection Incomplete");
            heading.setFormat(FlxG.Content.Load <SpriteFont>("Lemonade/SMALL_PIXEL"), textSize, Lemonade_Globals.GAMEBOY_COLOR_4, FlxJustification.Center, Lemonade_Globals.GAMEBOY_COLOR_1);
            heading.setScrollFactors(0, 0);
            add(heading);



            string howWellDidYouGo = "Collected " + Lemonade_Globals.coins.ToString() + "\nfrom " + Lemonade_Globals.totalCoins.ToString() + " Coins ";
            credits = new FlxText(0, FlxG.height / 1.75f, FlxG.width, howWellDidYouGo);
            credits.setFormat(FlxG.Content.Load <SpriteFont>("Lemonade/SMALL_PIXEL"), textSize, Lemonade_Globals.GAMEBOY_COLOR_4, FlxJustification.Center, Lemonade_Globals.GAMEBOY_COLOR_1);
            credits.setScrollFactors(0, 0);
            credits.visible = false;
            add(credits);

            string ins = "Press X to Continue";
#if __ANDROID__
            ins = "Press O to Continue";
#endif

            instruction = new FlxText(0, FlxG.height / 1.3f, FlxG.width, ins);
            instruction.setFormat(FlxG.Content.Load <SpriteFont>("Lemonade/SMALL_PIXEL"), textSize, Lemonade_Globals.GAMEBOY_COLOR_4, FlxJustification.Center, Lemonade_Globals.GAMEBOY_COLOR_1);
            instruction.setScrollFactors(0, 0);
            instruction.visible = false;
            add(instruction);

            if (Lemonade_Globals.coins == Lemonade_Globals.totalCoins)
            {
                heading.setFormat(FlxG.Content.Load <SpriteFont>("Lemonade/SMALL_PIXEL"), textSize, Lemonade_Globals.GAMEBOY_COLOR_4, FlxJustification.Center, Lemonade_Globals.GAMEBOY_COLOR_1);
                heading.text = "Complete Collection!!\nThe Lemonade Factory is saved.";
                instruction.setFormat(FlxG.Content.Load <SpriteFont>("Lemonade/SMALL_PIXEL"), textSize, Lemonade_Globals.GAMEBOY_COLOR_4, FlxJustification.Center, Lemonade_Globals.GAMEBOY_COLOR_1);


                string ins2 = "Press X to Continue";
#if __ANDROID__
                ins2 = "Press O to Continue";
#endif

                instruction.text = ins2;

                //FlxU.openURL("http://initials.itch.io/slf2/download/Y9wdBOHe7a92Qpo9t5UJdz05HhZR5p10F0L6wfdP");
            }

            tween          = new Tweener(FlxG.height / 1.3f, FlxG.height / 1.2f, TimeSpan.FromSeconds(0.67f), XNATweener.Cubic.EaseInOut);
            tween.PingPong = true;
            tween.Start();

            // play some music
            FlxG.playMp3("Lemonade/music/March", 0.75f);

            rain = new FlxGroup();
            for (int i = 0; i < 150; i++)
            {
                FlxSprite rainDrop = new FlxSprite((FlxU.random() * FlxG.width * 2), -200 + (FlxU.random() * 1000));
                rainDrop.loadGraphic("Lemonade/rain", true, false, 2, 2);
                rainDrop.frame      = (int)FlxU.random(0, 6);
                rainDrop.velocity.Y = FlxU.random(350, 400);
                rain.add(rainDrop);
            }
            add(rain);

            splashes = new FlxEmitter();
            splashes.createSprites("Lemonade/rain", 150, true, 0.0f, 0.0f);
            splashes.setXSpeed(-25, 25);
            splashes.setYSpeed(-30, 0);
            splashes.gravity = 1.0f;
            add(splashes);
        }
コード例 #22
0
        override public void create()
        {
            FlxG.Framerate = 60;
            //FlxG.flashFramerate = 60;

            //Here we actually initialize out emitter
            //The parameters are        X   Y                Size (Maximum number of particles the emitter can store)
            theEmitter = new FlxEmitter(10, FlxG.height / 2, 200);

            //Now by default the emitter is going to have some properties set on it and can be used immediately
            //but we're going to change a few things.

            //First this emitter is on the side of the screen, and we want to show off the movement of the particles
            //so lets make them launch to the right.
            theEmitter.setXSpeed(100, 200);

            //and lets funnel it a tad
            theEmitter.setYSpeed(-50, 50);

            //Let's also make our pixels rebound off surfaces
            theEmitter.bounce = 0.8f;

            //Now let's add the emitter to the state.
            add(theEmitter);

            //Now it's almost ready to use, but first we need to give it some pixels to spit out!
            //Lets fill the emitter with some white pixels
            for (int i = 0; i < theEmitter.maxSize / 2; i++)
            {
                whitePixel = new FlxParticle();
                whitePixel.makeGraphic(2, 2, new Color(0xFF, 0xFF, 0xFF));
                whitePixel.Visible = false;                 //Make sure the particle doesn't show up at (0, 0)
                theEmitter.add(whitePixel);
                whitePixel = new FlxParticle();
                whitePixel.makeGraphic(1, 1, new Color(0xFF, 0xFF, 0xFF));
                whitePixel.Visible = false;
                theEmitter.add(whitePixel);
            }

            //Now let's setup some buttons for messing with the emitter.
            collisionButton = new FlxButton(0, FlxG.height - 22, "Collision", onCollision);
            add(collisionButton);
            gravityButton = new FlxButton(80, FlxG.height - 22, "Gravity", onGravity);
            add(gravityButton);
            quitButton = new FlxButton(FlxG.width - 80, FlxG.height - 22, "Quit", onQuit);
            add(quitButton);

            //I'll just leave this here
            topText = new FlxText(0, 2, FlxG.width, "Welcome");
            topText.setAlignment("center");
            add(topText);

            //Lets setup some walls for our pixels to collide against
            collisionGroup = new FlxGroup();
            wall           = new FlxSprite(100, (FlxG.height / 2) - 50);
            wall.makeGraphic(10, 100, new Color(0xFF, 0xFF, 0xFF, 0x50)); //Make it darker - easier on the eyes :)
            wall.Visible   = wall.Solid = false;                          //Set both the visibility AND the solidity to false, in one go
            wall.Immovable = true;                                        //Lets make sure the pixels don't push out wall away! (though it does look funny)
            collisionGroup.add(wall);
            //Duplicate our wall but this time it's a floor to catch gravity affected particles
            floor = new FlxSprite(10, 267);
            floor.makeGraphic((uint)FlxG.width - 20, 10, new Color(0xFF, 0xFF, 0xFF, 0x50));
            floor.Visible   = floor.Solid = false;
            floor.Immovable = true;
            collisionGroup.add(floor);

            //Please note that this demo makes the walls themselves not collide, for the sake of simplicity.
            //Normally you would make the particles have solid = true or false to make them collide or not on creation,
            //because in a normal environment your particles probably aren't going to change solidity at a mouse
            //click. If they did, you would probably be better suited with emitter.setAll("solid", true)
            //I just don't feel that setAll is applicable here(Since I would still have to toggle the walls anyways)

            //Don't forget to add the group to the state(Like I did :P)
            add(collisionGroup);

            //Now lets set our emitter free.
            //Params:        Explode, Particle Lifespan, Emit rate(in seconds)
            theEmitter.start(false, 3, .01f);

            //Let's re show the cursors
            FlxG.mouse.show();
            //Mouse.hide();
        }
コード例 #23
0
		public override void update()
		{			
			base.update();

			if(title2.X > title1.X + title1.Width - 4)
			{
				//Once mo and de cross each other, fix their positions
				title2.X = title1.X + title1.Width - 4;
				title1.Velocity.X = 0;
				title2.Velocity.X = 0;

				//Then, play a cool sound, change their color, and blow up pieces everywhere
				/*
				FlxG.play(SndHit, 1f, false, false);
				*/
				FlxG.flash(Color.White,0.5f);
				FlxG.shake(0.035f,0.5f);
				title1.Color = Color.White;
				title2.Color = Color.White;
				gibs.start(true,5);
				title1.Angle = FlxG.random()*30-15;
				title2.Angle = FlxG.random()*30-15;

				//Then we're going to add the text and buttons and things that appear
				//If we were hip we'd use our own button animations, but we'll just recolor
				//the stock ones for now instead.
				FlxText text;
				text = new FlxText(FlxG.width/2-50,FlxG.height/3+39,100,"by Adam Atomic");
				/*text.Alignment = "center";*/
				text.Color = Color.White;
				add(text);
				/*
				FlxButton flixelButton = new FlxButton(FlxG.width/2-40,FlxG.height/3+54,"flixel.org",new IFlxButton(){ public void callback(){onFlixel();}});
				flixelButton.setColor(0xff729954);
				flixelButton.label.setColor(0xffd8eba2);
				ModeMenuState(flixelButton);

				FlxButton dannyButton = new FlxButton(flixelButton.X,flixelButton.Y + 22,"music: dannyB",new IFlxButton(){ public void callback(){onDanny();}});
				dannyButton.setColor(flixelButton.getColor());
				dannyButton.label.setColor(flixelButton.label.getColor());
				add(dannyButton);
				*/

				text = new FlxText(FlxG.width/2-40,FlxG.height/3+139,80,"X+C TO PLAY");
				text.Color = Color.White;
				//text.setAlignment("center");
				add(text);
				/*
				playButton = new FlxButton(flixelButton.X,flixelButton.Y + 82,"CLICK HERE", onPlay());
				playButton.setColor(flixelButton.getColor());
				playButton.label.setColor(flixelButton.label.getColor());
				add(playButton);
				*/
			}

			//X + C were pressed, fade out and change to play state.
			//OR, if we sat on the menu too long, launch the attract mode instead!
			timer += FlxG.elapsed;
			if(timer >= 10) //go into demo mode if no buttons are pressed for 10 seconds
				attractMode = true;
			if(!fading 
				&& ((FlxG.keys.pressed(Keys.X) && FlxG.keys.pressed(Keys.C)) 
				/*|| (_pad.buttonA.status == FlxButton.Pressed && _pad.buttonB.status == FlxButton.Pressed) */
				|| attractMode)) 
			{
				fading = true;
				/*FlxG.play(SndHit2, 1f, false, false);*/
				FlxG.flash(Color.White,0.5f);
				FlxG.fade(Color.Black,1, onFade);
			}
		}
コード例 #24
0
        //private FlxVirtualPad _pad;

        public override void create()
        {
            //		FlxG.mouse.hide();

            /*_sfxCount = new FlxSound().loadEmbedded(SndCount, false, false, FlxSound.SFX);*/

            /*
             * _pad = new FlxVirtualPad(FlxVirtualPad.DPAD_FULL, FlxVirtualPad.A_B);
             * _pad.Alpha = 0.5f;
             */
            //		if(Gdx.app.getType() == ApplicationType.Desktop || MenuState.attractMode)
            //			_pad.visible = false;

            //Here we are creating a pool of 100 little metal bits that can be exploded.
            //We will recycle the crap out of these!
            _littleGibs = new FlxEmitter();
            _littleGibs.setXSpeed(-150, 150);
            _littleGibs.setYSpeed(-200, 0);
            _littleGibs.setRotation(-720, -720);
            _littleGibs.gravity = 350;
            _littleGibs.bounce  = 0.5f;
            _littleGibs.makeParticles(ImgGibs, 100, 10, true, 0.5f);

            //Next we create a smaller pool of larger metal bits for exploding.
            _bigGibs = new FlxEmitter();
            _bigGibs.setXSpeed(-200, 200);
            _bigGibs.setYSpeed(-300, 0);
            _bigGibs.setRotation(-720, -720);
            _bigGibs.gravity = 350;
            _bigGibs.bounce  = 0.35f;
            _bigGibs.makeParticles(ImgSpawnerGibs, 50, 20, true, 0.5f);

            //Then we'll set up the rest of our object groups or pools
            _blocks       = new FlxGroup();
            _decorations  = new FlxGroup();
            _enemies      = new FlxGroup();
            _spawners     = new FlxGroup();
            _hud          = new FlxGroup();
            _enemyBullets = new FlxGroup();
            _bullets      = new FlxGroup();

            //Now that we have references to the bullets and metal bits,
            //we can create the player object.
            _player = new Player(316, 300, _bullets, _littleGibs /*, _pad*/);

            //This refers to a custom function down at the bottom of the file
            //that creates all our level geometry with a total size of 640x480.
            //This in turn calls buildRoom() a bunch of times, which in turn
            //is responsible for adding the spawners and spawn-cameras.
            generateLevel();

            //Add bots and spawners after we add blocks to the state,
            //so that they're drawn on top of the level, and so that
            //the bots are drawn on top of both the blocks + the spawners.
            add(_spawners);
            add(_littleGibs);
            add(_bigGibs);
            add(_blocks);
            add(_decorations);
            add(_enemies);

            //Then we add the player and set up the scrolling camera,
            //which will automatically set the boundaries of the world.
            add(_player);
            FlxG.camera.setBounds(0, 0, 640, 640, true);
            FlxG.camera.follow(_player, FlxCamera.StylePlatformer);

            //We add the bullets to the scene here,
            //so they're drawn on top of pretty much everything
            add(_enemyBullets);
            add(_bullets);
            add(_hud);

            //Finally we are going to sort things into a couple of helper groups.
            //We don't add these groups to the state, we just use them for collisions later!
            _hazards = new FlxGroup();
            _hazards.add(_enemyBullets);
            _hazards.add(_spawners);
            _hazards.add(_enemies);
            _objects = new FlxGroup();
            _objects.add(_enemyBullets);
            _objects.add(_bullets);
            _objects.add(_enemies);
            _objects.add(_player);
            _objects.add(_littleGibs);
            _objects.add(_bigGibs);

            //From here on out we are making objects for the HUD,
            //that is, the player score, number of spawners left, etc.
            //First, we'll create a text field for the current score
            _score = new FlxText(FlxG.width / 4, 0, FlxG.width / 2);

            /*
             * if(Gdx.app.getType() == ApplicationType.WebGL)
             *      _score.setFormat(ImgFont20,20,0xd8eba2,"center",0x131c1b);
             * else*/
            /*_score.setFormat(null,16,0xd8eba2,"center",0x131c1b);*/
            _hud.add(_score);
            if (FlxG.scores == null)
            {
                FlxG.scores = new int[2] {
                    0, 0
                };
            }

            //Then for the player's highest and last scores
            if (FlxG.score > (int)FlxG.scores.GetValue(0))
            {
                FlxG.scores.SetValue(0, FlxG.score);
            }
            if ((int)FlxG.scores.GetValue(0) != 0)
            {
                _score2 = new FlxText(FlxG.width / 2, 0, FlxG.width / 2);
                //_score2.setFormat(null,8,0xd8eba2,"right",_score.getShadow());
                _hud.add(_score2);
                _score2.text = "HIGHEST: " + FlxG.scores.GetValue(0) + "\nLAST: " + FlxG.score;
            }
            FlxG.score  = 0;
            _scoreTimer = 0;

            //Then we create the "gun jammed" notification
            _gunjam = new FlxGroup();
            _gunjam.add(new FlxSprite(0, FlxG.height - 22).makeGraphic((uint)FlxG.width, 24, Color.Orange));

            /*
             * if(Gdx.app.getType() == ApplicationType.WebGL)
             *      _gunjam.add(new FlxText(0,FlxG.height-22,FlxG.width,"GUN IS JAMMED").setFormat(ImgFont20,20,0xd8eba2,"center"));
             * else*/
            _gunjam.add(new FlxText(0, FlxG.height - 22, FlxG.width, "GUN IS JAMMED"));       /*.setFormat(null,16,0xd8eba2,"center"));*/
            _gunjam.Visible = false;
            _hud.add(_gunjam);

            //After we add all the objects to the HUD, we can go through
            //and set any property we want on all the objects we added
            //with this sweet function.  In this case, we want to set
            //the scroll factors to zero, to make sure the HUD doesn't
            //wiggle around while we play.
            _hud.SetAll("ScrollFactor", new FlxPoint(0, 0));
            _hud.SetAll("Cameras", new List <FlxCamera> {
                FlxG.camera
            });

            /*FlxG.playMusic(SndMode);*/
            FlxG.flash(Color.White);
            _fading = false;

            //Debugger Watch examples
            FlxG.watch(_player, "x");
            FlxG.watch(_player, "y");
            //FlxG.watch(FlxG.class,"score");
        }
コード例 #25
0
        override public void create()
        {
            base.create();

            Lemonade_Globals.totalCoins = Lemonade_Globals.calculateTotalCoins();

            Console.WriteLine("Total coins = {0}", Lemonade_Globals.totalCoins);

                        #if __ANDROID__
            FlxG.BUILD_TYPE = FlxG.BUILD_TYPE_OUYA;
                        #endif

            FlxTilemap bgMap = new FlxTilemap();
            bgMap.auto        = FlxTilemap.STRING;
            bgMap.indexOffset = -1;
            bgMap.loadTMXMap("Lemonade/levels/slf2/newyork/newyork_intro.tmx", "map", "bg", FlxXMLReader.TILES, FlxG.Content.Load <Texture2D>("Lemonade/bgtiles_newyork"), 20, 20);
            bgMap.boundingBoxOverride = false;
            bgMap.setScrollFactors(1, 1);
            add(bgMap);

            bgMap             = new FlxTilemap();
            bgMap.auto        = FlxTilemap.STRING;
            bgMap.indexOffset = -1;
            bgMap.loadTMXMap("Lemonade/levels/slf2/newyork/newyork_intro.tmx", "map", "bg2", FlxXMLReader.TILES, FlxG.Content.Load <Texture2D>("Lemonade/bgtiles_newyork"), 20, 20);
            bgMap.boundingBoxOverride = false;
            bgMap.setScrollFactors(1, 1);
            add(bgMap);

            FlxTilemap bgMap3 = new FlxTilemap();
            bgMap3.auto        = FlxTilemap.STRING;
            bgMap3.indexOffset = -1;
            bgMap3.loadTMXMap("Lemonade/levels/slf2/newyork/newyork_intro.tmx", "map", "stars", FlxXMLReader.TILES, FlxG.Content.Load <Texture2D>("Lemonade/bgtiles_newyork"), 20, 20);
            bgMap3.boundingBoxOverride = false;
            bgMap3.setScrollFactors(0.5f, 0.5f);
            add(bgMap3);

            FlxTilemap bgMap4 = new FlxTilemap();
            bgMap4.auto        = FlxTilemap.STRING;
            bgMap4.indexOffset = -1;
            bgMap4.loadTMXMap("Lemonade/levels/slf2/newyork/newyork_intro.tmx", "map", "city", FlxXMLReader.TILES, FlxG.Content.Load <Texture2D>("Lemonade/bgtiles_newyork"), 20, 20);
            bgMap4.boundingBoxOverride = false;
            bgMap4.setScrollFactors(1, 1);
            add(bgMap4);

            follower         = new FlxSprite(0, -100);
            follower.visible = false;
            add(follower);
            follower.velocity.Y = 450;

            FlxG.follow(follower, 20.0f);
            FlxG.followBounds(0, 0, int.MaxValue, 2000);

            FlxText text1 = new FlxText(0, FlxG.height / 2 - 50, FlxG.width, "Initials\nVideo\nGames\nPresents");
            text1.setFormat(FlxG.Content.Load <SpriteFont>("Lemonade/SMALL_PIXEL"), 2, Lemonade_Globals.GAMEBOY_COLOR_4, FlxJustification.Center, Lemonade_Globals.GAMEBOY_COLOR_1);
            text1.setScrollFactors(1.5f, 1.5f);

            add(text1);

            credits = new FlxText(0, FlxG.height / 2 - 100, FlxG.width, "A Game by\nShane Brouwer");
            credits.setFormat(FlxG.Content.Load <SpriteFont>("Lemonade/SMALL_PIXEL"), 2, Lemonade_Globals.GAMEBOY_COLOR_4, FlxJustification.Center, Lemonade_Globals.GAMEBOY_COLOR_1);
            credits.setScrollFactors(0, 0);
            credits.visible = false;
            add(credits);

            string ins = "Press X to Continue";
                        #if __ANDROID__
            ins = "Press O to Continue";
                        #endif

            instruction = new FlxText(0, FlxG.height / 1.3f, FlxG.width, ins);
            instruction.setFormat(FlxG.Content.Load <SpriteFont>("Lemonade/SMALL_PIXEL"), 2, Lemonade_Globals.GAMEBOY_COLOR_4, FlxJustification.Center, Lemonade_Globals.GAMEBOY_COLOR_1);
            instruction.setScrollFactors(0, 0);
            instruction.visible = false;
            add(instruction);

            tween          = new Tweener(FlxG.height / 1.3f, FlxG.height / 1.2f, TimeSpan.FromSeconds(0.67f), XNATweener.Cubic.EaseInOut);
            tween.PingPong = true;
            tween.Start();

            // play some music
            FlxG.playMp3("Lemonade/music/Beyond", 0.75f);

            rain = new FlxGroup();
            for (int i = 0; i < 150; i++)
            {
                FlxSprite rainDrop = new FlxSprite((FlxU.random() * FlxG.width), -200 + (FlxU.random() * 1000));
                rainDrop.loadGraphic("Lemonade/rain", true, false, 2, 2);
                rainDrop.frame      = (int)FlxU.random(0, 6);
                rainDrop.velocity.Y = FlxU.random(350, 400);
                rain.add(rainDrop);
            }
            add(rain);

            splashes = new FlxEmitter();
            splashes.createSprites("Lemonade/rain", 150, true, 0.0f, 0.0f);
            splashes.setXSpeed(-25, 25);
            splashes.setYSpeed(-30, 0);
            splashes.gravity = 1.0f;
            add(splashes);
        }
コード例 #26
0
		/*private FlxVirtualPad _pad;*/

		
		public override void create()
		{
			FlxG.width = (int)FlxG.camera.Width;// ViewportWidth;
			FlxG.resetCameras();
			
			FlxG.bgColor = Color.Black;

			//Simple use of flixel save game object.
			//Tracks number of times the game has been played.
			/*FlxSave save = new FlxSave();
			if(save.bind("Mode"))
			{
				if(save.data.get("plays", Integer.class) == null)
					save.data.put("plays", 0);
				else
					save.data.put("plays", save.data.get("plays", Integer.class) + 1);
				FlxG.log("Number of plays: "+save.data.get("plays", Integer.class));
				//save.erase();
				save.close();
			}
			*/

			//All the bits that blow up when the text smooshes together
			gibs = new FlxEmitter(FlxG.width/2-50,FlxG.height/2-10);
			gibs.setSize(100,30);
			gibs.setYSpeed(-200,-20);
			gibs.setRotation(-720,720);
			gibs.gravity = 100;
			gibs.makeParticles(ImgGibs,650,32,true,0);
			add(gibs);

			//the letters "mo"
			title1 = new FlxText(FlxG.width + 16,FlxG.height/3,64,"mo");
			/*
			if(Gdx.app.getType() == ApplicationType.WebGL)
				title1.setFormat(ImgFont40, 40);
			else 
				title1.SetSize(32);
			title1.SetColor(0x3a5c39);
			title1.Antialiasing = true;
			*/
			title1.Velocity.X = -FlxG.width;
			title1.Moves = true;
			add(title1);

			//the letters "de"
			title2 = new FlxText(-60,title1.Y,(int) title1.Width,"de");
			/*
			if(Gdx.app.getType() == ApplicationType.WebGL)
				title2.setFormat(ImgFont40, 40);
			else 
				title2.SetSize(32);

			title2.SetColor(title1.GetColor());
			title2.Antialiasing = title1.Antialiasing;
			*/
			title2.Velocity.X = FlxG.width;
			title2.Moves = true;
			add(title2);

			fading = false;
			timer = 0;
			attractMode = false;
				
			//FlxG.mouse.show(FlxS.ContentManager.Load<Texture2D>(ImgCursor),2);
			/*
			_pad = new FlxVirtualPad(FlxVirtualPad.DPAD_None, FlxVirtualPad.A_B);
			_pad.setAlpha(0.5f);

			if(Gdx.app.getType() != ApplicationType.Desktop)
				add(_pad);
				*/
		}
コード例 #27
0
        override public void create()
        {
            base.create();

            FlxG.resetHud();

            String hudText = "Press \n";

            hudText += "Q. Back \n";
            hudText += "W. Bounce \n";
            hudText += "E. Circular \n";
            hudText += "R. Cubic \n";
            hudText += "A. Elastic \n";
            hudText += "S. Exponential \n";
            hudText += "D. Linear \n";
            hudText += "F. Quadratic \n";
            hudText += "Z. Quartic \n";
            hudText += "X. Quintic \n";
            hudText += "C. Sinusoidal";

            FlxG.setHudText(2, hudText);

            FlxG.mouse.hide();

            //Define the time it takes to move the car across the screen.
            timeToMove = 2.5f;

            //Define the distance the car will move.
            driveDistance = 350;

            //Define the starting positions of the cars.
            car1Pos = new Vector2(20, 0);
            car2Pos = new Vector2(20, 50);
            car3Pos = new Vector2(20, 100);
            car4Pos = new Vector2(20, 150);
            car5Pos = new Vector2(20, 200);
            car6Pos = new Vector2(20, 250);

            redCarText      = new FlxText(car1Pos.X, car1Pos.Y + 40, FlxG.width);
            redCarText.text = "Back.EaseInOut";
            redCarText.setFormat(null, 1, Color.Red, FlxJustification.Left, Color.Black);
            add(redCarText);

            yellowCarText      = new FlxText(car2Pos.X, car2Pos.Y + 40, FlxG.width);
            yellowCarText.text = "Bounce.EaseInOut";
            yellowCarText.setFormat(null, 1, Color.Yellow, FlxJustification.Left, Color.Black);
            add(yellowCarText);

            greenCarText      = new FlxText(car3Pos.X, car3Pos.Y + 40, FlxG.width);
            greenCarText.text = "Circular.EaseInOut";
            greenCarText.setFormat(null, 1, Color.Green, FlxJustification.Left, Color.Black);
            add(greenCarText);

            blueCarText      = new FlxText(car4Pos.X, car4Pos.Y + 40, FlxG.width);
            blueCarText.text = "Cubic.EaseInOut";
            blueCarText.setFormat(null, 1, Color.Blue, FlxJustification.Left, Color.Black);
            add(blueCarText);

            purpleCarText      = new FlxText(car5Pos.X, car5Pos.Y + 40, FlxG.width);
            purpleCarText.text = "Elastic.EaseInOut - Loop";
            purpleCarText.setFormat(null, 1, Color.Purple, FlxJustification.Left, Color.Black);
            add(purpleCarText);

            lightGreenCarText      = new FlxText(car6Pos.X, car6Pos.Y + 40, FlxG.width);
            lightGreenCarText.text = "Exponential.EaseInOut - Ping Pong";
            lightGreenCarText.setFormat(null, 1, Color.LightGreen, FlxJustification.Left, Color.Black);
            add(lightGreenCarText);



            carsGroup = new FlxGroup();
            add(carsGroup);

            redCar = new FlxSprite(car1Pos.X, car1Pos.Y);
            redCar.loadGraphic(FlxG.Content.Load <Texture2D>("flixel/surt/race_or_die"), true, false, 64, 64);
            redCar.addAnimation("Static", new int[] { 6 }, 0, true);
            redCar.play("Static");
            redCar.angle = 180;
            carsGroup.add(redCar);

            redCarTween      = new Tweener(car1Pos.X, driveDistance, TimeSpan.FromSeconds(timeToMove), Back.EaseInOut);
            redCarTween.Loop = true;
            redCarTween.Start();

            yellowCar = new FlxSprite(car2Pos.X, car2Pos.Y);
            yellowCar.loadGraphic(FlxG.Content.Load <Texture2D>("flixel/surt/race_or_die"), true, false, 64, 64);
            yellowCar.addAnimation("Static", new int[] { 7 }, 0, true);
            yellowCar.play("Static");
            yellowCar.angle = 180;
            carsGroup.add(yellowCar);

            yellowCarTween      = new Tweener(car2Pos.X, driveDistance, TimeSpan.FromSeconds(timeToMove), Bounce.EaseInOut);
            yellowCarTween.Loop = true;

            greenCar = new FlxSprite(car3Pos.X, car3Pos.Y);
            greenCar.loadGraphic(FlxG.Content.Load <Texture2D>("flixel/surt/race_or_die"), true, false, 64, 64);
            greenCar.addAnimation("Static", new int[] { 8 }, 0, true);
            greenCar.play("Static");
            greenCar.angle = 180;
            carsGroup.add(greenCar);

            greenCarTween      = new Tweener(car3Pos.X, driveDistance, TimeSpan.FromSeconds(timeToMove), XNATweener.Circular.EaseInOut);
            greenCarTween.Loop = true;


            blueCar = new FlxSprite(car4Pos.X, car4Pos.Y);
            blueCar.loadGraphic(FlxG.Content.Load <Texture2D>("flixel/surt/race_or_die"), true, false, 64, 64);
            blueCar.addAnimation("Static", new int[] { 9 }, 0, true);
            blueCar.play("Static");
            blueCar.angle = 180;
            carsGroup.add(blueCar);

            blueCarTween      = new Tweener(car4Pos.X, driveDistance, TimeSpan.FromSeconds(timeToMove), XNATweener.Cubic.EaseInOut);
            blueCarTween.Loop = true;


            purpleCar = new FlxSprite(car5Pos.X, car5Pos.Y);
            purpleCar.loadGraphic(FlxG.Content.Load <Texture2D>("flixel/surt/race_or_die"), true, false, 64, 64);
            purpleCar.addAnimation("Static", new int[] { 10 }, 0, true);
            purpleCar.play("Static");
            purpleCar.angle = 180;
            carsGroup.add(purpleCar);

            purpleCarTween      = new Tweener(car5Pos.X, driveDistance, TimeSpan.FromSeconds(timeToMove), XNATweener.Elastic.EaseInOut);
            purpleCarTween.Loop = true;


            lightGreenCar = new FlxSprite(car6Pos.X, car6Pos.Y);
            lightGreenCar.loadGraphic(FlxG.Content.Load <Texture2D>("flixel/surt/race_or_die"), true, false, 64, 64);
            lightGreenCar.addAnimation("Static", new int[] { 11 }, 0, true);
            lightGreenCar.play("Static");
            lightGreenCar.angle = 180;
            carsGroup.add(lightGreenCar);

            lightGreenCarTween          = new Tweener(car6Pos.X, driveDistance, TimeSpan.FromSeconds(timeToMove), XNATweener.Exponential.EaseInOut);
            lightGreenCarTween.PingPong = true;

            Console.WriteLine(lightGreenCar.GetType().AssemblyQualifiedName);


            String myClass = "org.flixel.examples.CarSprite";

            var type = Type.GetType(myClass);

            Console.WriteLine(type);
            var myObject = (FlxSprite)Activator.CreateInstance(type, 800, 400);

            //Console.WriteLine(myObject.GetType().AssemblyQualifiedName);
            //myObject.x = 300;
            //myObject.y = 300;
            add(myObject);
        }
コード例 #28
0
ファイル: FlxButton.cs プロジェクト: jsbeckr/XnaFlixel
 /// <summary>
 /// Add a text label to the button.
 /// </summary>
 /// <param name="text">A FlxText object to use to display text on this button (optional).</param>
 /// <param name="textHighlight">A FlxText object that is used when the button is highlighted (optional).</param>
 /// <returns>This FlxButton instance (nice for chaining stuff together, if you're into that).</returns>	
 public FlxButton LoadText(FlxText text, FlxText textHighlight)
 {
     if (text != null)
     {
         if (_offT == null)
         {
             _offT = text;
             Add(_offT);
         }
         else
             _offT = Replace(_offT, text) as FlxText;
     }
     if (textHighlight == null)
         _onT = _offT;
     else
     {
         if (_onT == null)
         {
             _onT = textHighlight;
             Add(_onT);
         }
         else
             _onT = Replace(_onT, textHighlight) as FlxText;
     }
     _offT.scrollFactor = scrollFactor;
     _onT.scrollFactor = scrollFactor;
     return this;
 }
コード例 #29
0
ファイル: FlxButton.cs プロジェクト: jsbeckr/XnaFlixel
 /// <summary>
 /// Creates a new <code>FlxButton</code> object with a gray background
 /// and a callback function on the UI thread.
 /// </summary>
 /// <param name="x">The X position of the button.</param>
 /// <param name="y">The Y position of the button.</param>
 /// <param name="callback">The function to call whenever the button is clicked.</param>   	
 public FlxButton(int x, int y, FlxButtonClick callback)
 {
     X = x;
     Y = y;
     Width = 100;
     Height = 20;
     _off = new FlxSprite().CreateGraphic((int)Width, (int)Height, new Color(0x7f, 0x7f, 0x7f));
     _off.Solid = false;
     Add(_off, true);
     _on = new FlxSprite().CreateGraphic((int)Width, (int)Height, Color.White);
     _on.Solid = false;
     Add(_on, true);
     _offT = null;
     _onT = null;
     _callback = callback;
     _onToggle = false;
     _pressed = false;
     _initialized = false;
     _sf = Vector2.Zero;
     PauseProof = false;
 }
コード例 #30
0
        override public void create()
        {
            base.create();

            rollIndicators = new FlxGroup();

            framesElapsed = 0;

            selected = 0;
            suggestionForClubNoted   = false;
            suggestionForForceNoted  = false;
            suggestionForClubStatus  = 0;
            suggestionForForceStatus = 0;
            selectedClub             = 0;
            playAgainSelected        = 0;

            Globals.ballInHole = false;


            //"Sand Wedge" }

            clubs = new List <string> {
                "Putter", "1 Wood", "3 Wood", "5 Wood",
                "1 Iron", "2 Iron", "3 Iron", "4 Iron", "5 Iron", "6 Iron", "7 Iron", "8 Iron", "9 Iron"
            };

            //, "Chip Shot", "Pitch", "Fade", "Draw", "Lay-up", "Knock Down", "Flop"
            force = new List <string> {
                "Feather Touch", "Firm Putt", "Power Drive"
            };

            playAgain = new List <string> {
                "Yes", "No", "Skip Hole +9"
            };

            game = new FlxSprite(0, 0);
            game.loadGraphic("putt/bg", true, false, 256, 224);
            game.boundingBoxOverride = false;

            add(game);



            ball = new Ball(FlxG.width / 2 - 8, FlxG.height - 24);


            hole = new Hole(FlxG.width / 2, FlxG.height / 2);

            // load the level.
            loadOgmo();


            add(hole);
            add(ball);


            lee = new Lee(FlxG.width / 6, FlxG.height - 170);
            add(lee);

            aim   = new Aim(1, FlxG.height / 2);
            aim.y = hole.y - aim.width;
            add(aim);

            power = new FlxBar(FlxG.width - 110, FlxG.height - 30, FlxBar.FILL_LEFT_TO_RIGHT, 80, 8, null, "", 0, 50, true);
            add(power);
            power.visible         = false;
            power.useCustomColors = true;


            sound = new FlxSound();
            sound.loadEmbedded(Globals.ContentFolder + "/sfx/welcome", false);

            if (Globals.hole == 1)
            {
                sound.play();
            }

            actionButton         = new ActionButton(FlxG.width - 40, FlxG.height - 40);
            actionButton.visible = false;
            add(actionButton);


            if (FlxG.debug && Globals.platform == "Touch")
            {
                FlxG.mouse.show();
            }
            if (Globals.platform == "Touch")
            {
                actionButton.visible = true;
            }


            add(rollIndicators);

            carPark         = new CarPark(0, 0);
            carPark.visible = false;
            add(carPark);

            text = new FlxText(22, 16, 200);
            text.setFormat(FlxG.Content.Load <SpriteFont>("flixel/initials/SMALL_PIXEL"), 1, Color.Yellow, FlxJustification.Left, Color.Black);

            add(text);

            subtitle = new FlxText(22, 2, FlxG.width);
            subtitle.setFormat(FlxG.Content.Load <SpriteFont>("flixel/initials/SMALL_PIXEL"), 1, Color.White, FlxJustification.Left, Color.Black);

            add(subtitle);

            activator = new Carrot((int)text.x - 11, (int)text.y);
            //activator.createGraphic(8, 8, Color.Violet);
            activator.visible = false;
            add(activator);

            log("Welcome to " + Globals.GameNameSplit);


            if (Globals.pirate && Globals.hole >= 4)
            {
                                #if !__IOS__
                FlxU.openURL("http://initialsgames.com/");


                FlxG.Game.Exit();
                                #endif
            }
        }
コード例 #31
0
        public override void create()
        {
            //Kick the framerate back up
            FlxG.Framerate = 60;
            //FlxG.flashFramerate = 60;

            //Let's setup our elevator, for some wonderful crate bashing goodness
            elevator = new FlxSprite((FlxG.width / 2) - 100, 250, elevatorPNG);
            //Make it able to collide, and make sure it's not tossed around
            elevator.Solid = elevator.Immovable = true;
            //And add it to the state
            add(elevator);

            //Now lets get some crates to smash around, normally I would use an emitter for this
            //kind of scene, but for this demo I wanted to use regular sprites
            //(See ParticlesDemo for an example of an emitter with colliding particles)
            //We'll need a group to place everything in - this helps a lot with collisions
            crateStormGroup = new FlxGroup();
            for (int i = 0; i < numCrates; i++)
            {
                crate = new FlxSprite((FlxG.random() * 200) + 100, 20);
                crate.loadRotatedGraphic(cratePNG, 16, 0);        //This loads in a graphic, and 'bakes' some rotations in so we don't waste resources computing real rotations later
                crate.AngularVelocity = FlxG.random() * 50 - 150; //Make it spin a tad
                crate.Acceleration.Y  = 300;                      //Gravity
                crate.Acceleration.X  = -50;                      //Some wind for good measure
                crate.MaxVelocity.Y   = 500;                      //Don't fall at 235986mph
                crate.MaxVelocity.X   = 200;                      //"      fly  "  "
                crate.Elasticity      = FlxG.random();            //Let's make them all bounce a little bit differently
                crateStormGroup.add(crate);
            }
            add(crateStormGroup);
            //And another group, this time - Red crates
            crateStormGroup2 = new FlxGroup();
            for (int i = 0; i < numCrates; i++)
            {
                crate = new FlxSprite((FlxG.random() * 200) + 100, 20);
                crate.loadRotatedGraphic(cratePNG, 16, 1);
                crate.AngularVelocity = FlxG.random() * 50 - 150;
                crate.Acceleration.Y  = 300;
                crate.Acceleration.X  = 50;
                crate.MaxVelocity.Y   = 500;
                crate.MaxVelocity.X   = 200;
                crate.Elasticity      = FlxG.random();
                crateStormGroup2.add(crate);
            }
            add(crateStormGroup2);

            //Now what we're going to do here is add both of those groups to a new containter group
            //This is useful if you had something like, coins, enemies, special tiles, etc.. that would all need
            //to check for overlaps with something like a player.
            crateStormMegaGroup = new FlxGroup();
            crateStormMegaGroup.add(crateStormGroup);
            crateStormMegaGroup.add(crateStormGroup2);

            //Cute little flixel logo that will ride the elevator
            flixelRider                = new FlxSprite((FlxG.width / 2) - 13, 0, flixelRiderPNG);
            flixelRider.Solid          = flixelRider.Visible = flixelRider.Exists = false;    //But we don't want him on screen just yet...
            flixelRider.Acceleration.Y = 800;
            add(flixelRider);

            //This is for the text at the top of the screen
            topText = new FlxText(0, 2, FlxG.width, "Welcome");
            topText.setAlignment("center");
            add(topText);

            //Lets make a bunch of buttons! YEAH!!!
            crateStorm = new FlxButton(2, FlxG.height - 22, "Crate Storm", onCrateStorm);
            add(crateStorm);
            flxRiderButton = new FlxButton(82, FlxG.height - 22, "Flixel Rider", onFlixelRider);
            add(flxRiderButton);
            crateStormG1 = new FlxButton(162, FlxG.height - 22, "Blue Group", onBlue);
            add(crateStormG1);
            crateStormG2 = new FlxButton(242, FlxG.height - 22, "Red Group", onRed);
            add(crateStormG2);
            groupCollision = new FlxButton(202, FlxG.height - 42, "Collide Groups", onCollideGroups);
            add(groupCollision);
            quitButton = new FlxButton(320, FlxG.height - 22, "Quit", onQuit);
            add(quitButton);

            //And lets get the flixel cursor visible again
            FlxG.mouse.show();
            //Mouse.hide();
        }
コード例 #32
0
        override public void create()
        {
            base.create();

            FlxG.playMp3("Lemonade/music/AmbulanceCalls", 0.5f);

            block             = new FlxTileblock(0, 0, FlxG.width + 20, FlxG.height + 20);
            block.auto        = FlxTileblock.FRAMENUMBER;
            block.frameNumber = 6;
            block.setScrollFactors(0, 0);
            block.loadTiles(FlxG.Content.Load <Texture2D>("Lemonade/fade"), 20, 20, 0);

            add(block);

            icons    = new FlxGroup();
            tweeners = new List <Vector3Tweener>();

            for (int i = 0; i < 6; i++)
            {
                int offsetX  = 75;
                int offsetY  = 0;
                int offsetY2 = 0;

                                #if __ANDROID__
                offsetX  = 400;
                offsetY  = 100;
                offsetY2 = 120;
                                #endif

                FlxSprite p1 = new FlxSprite(0 + (i * 36) + offsetX, 12);
                p1.loadGraphic("Lemonade/illustration/people", true, false, 302, 640);
                p1.frame = i;
                icons.add(p1);
                tweeners.Add(new Vector3Tweener(new Vector3(-100 + (i * 36) + offsetX, -290 + offsetY2, 0.1f), new Vector3(12 + offsetY + offsetX, 100, 1), 0.45f, Bounce.EaseOut));
            }

            foreach (var item in tweeners)
            {
                item.Pause();
            }

            add(icons);

            switch (Lemonade_Globals.location)
            {
            case "warehouse":
                selected = 0;
                break;

            case "military":
                selected = 1;
                break;

            case "newyork":
                selected = 2;
                break;

            case "sydney":
                selected = 3;
                break;

            case "management":
                selected = 4;
                break;

            case "factory":
                selected = 5;
                break;

            default:
                selected = 0;
                break;
            }
            tweeners[selected].Play();

            timer = 5.0f;

            t1 = new FlxText(0, FlxG.height - 72, FlxG.width);
            t1.setFormat(null, 2, Lemonade_Globals.GAMEBOY_COLOR_1, FlxJustification.Center, Lemonade_Globals.GAMEBOY_COLOR_4);
            add(t1);

            t2 = new FlxText(0, 3, FlxG.width);
            t2.setFormat(null, 2, Lemonade_Globals.GAMEBOY_COLOR_1, FlxJustification.Center, Lemonade_Globals.GAMEBOY_COLOR_4);
            add(t2);
        }
コード例 #33
0
ファイル: FlxGame.cs プロジェクト: jsbeckr/XnaFlixel
        private void InitConsole()
        {
            //initialize the debug console
            _console = new FlxConsole(targetLeft, targetWidth);

            _console.log(FlxG.LIBRARY_NAME +
                         " v" + FlxG.LIBRARY_MAJOR_VERSION.ToString() + "." + FlxG.LIBRARY_MINOR_VERSION.ToString());
            _console.log("---------------------------------------");

            //Pause screen popup
            _pausePanel = new FlxPause();
            if (_helpStrings != null)
            {
                _pausePanel.helpX = _helpStrings[0];
                _pausePanel.helpC = _helpStrings[1];
                _pausePanel.helpMouse = _helpStrings[2];
                _pausePanel.helpArrows = _helpStrings[3];
            }

            //Sound Tray popup
            _soundTrayRect = new Rectangle((FlxG.width - 80) / 2, -30, 80, 30);
            _soundTrayVisible = false;

            _soundCaption = new FlxText((FlxG.width - 80) / 2, -10, 80, "VOLUME");
            _soundCaption.SetFormat(null, 1, Color.White, FlxJustification.Center, Color.White).Height = 10;

            int bx = 10;
            int by = 14;
            _soundTrayBars = new FlxSprite[10];
            for(int i = 0; i < 10; i++)
            {
                _soundTrayBars[i] = new FlxSprite(_soundTrayRect.X + (bx * 1), -i, null);
                _soundTrayBars[i].Width = 4;
                _soundTrayBars[i].Height = i + 1;
                _soundTrayBars[i].scrollFactor = Vector2.Zero;
                bx += 6;
                by--;
            }
        }