/** * 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; }
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; }
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); }
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); }
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."; } }
public override void destroy() { base.destroy(); gibs = null; /*playButton = null;*/ title1 = null; title2 = null; }
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); }
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); }
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); }
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; }
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(); }
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); */ }
//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); }
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(); }
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(); }
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); }
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); }
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); } }
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); } }
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); }
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); }
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(); }
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); } }
//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"); }
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); }
/*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); */ }
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); }
/// <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; }
/// <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; }
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 } }
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(); }
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); }
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--; } }