Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package
- {
- import org.flixel.*;
- import org.flixel.data.*;
- public class PlayState extends FlxState
- {
- [Embed(source='../lib/tile.png')]
- private var ImgTiles:Class;
- [Embed(source = '../lib/map.txt',mimeType = "application/octet-stream")]
- private var DataMap:Class;
- private var _player:Player;
- private var _map:FlxTilemap;
- public var coins:FlxGroup = new FlxGroup ;
- public static var goodCoins:int = 0;
- public var badCoins:int = 5;
- public var bCoin:FlxGroup = new FlxGroup ;
- public var lyrStage:FlxGroup = new FlxGroup ;
- public var lyrSprites:FlxGroup = new FlxGroup ;
- public var lyrHUD:FlxGroup = new FlxGroup ;
- private var timeVar:Number = 300;
- private var previousTime:int = timeVar;
- private var timerText:FlxText = new FlxText(0, 0, FlxG.width, "" + (timeVar) );
- private var totalRedCoins:int = 0;
- public var s:Coin = new Coin(true);
- override public function create():void
- {
- //FlxG.showBounds = true;
- s.exists = false;
- _map = new FlxTilemap ;
- _map.drawIndex = 0;// drawIndex need to be set before loadMap()
- _map.loadMap(new DataMap ,ImgTiles,16);
- _map.collideIndex = 1;
- lyrStage.add(_map);
- _player = new Player(20, 20);
- var e:FlxEmitter = new FlxEmitter();
- e.width = 1;
- e.y = 48
- e.x = 48
- e.delay = 5;
- e.gravity = 0;
- e.setXSpeed(-1,50);
- e.setYSpeed( -1, 50);
- e.maxRotation = 0;
- e.minRotation = 0;
- var particles:uint = 100;
- for(var i:uint = 0; i < particles; i++)
- {
- e.add(s);
- }
- e.start(false);
- add(e);
- lyrSprites.add(e);
- lyrSprites.add(bCoin);
- lyrSprites.add(_player);
- lyrHUD.add(timerText);
- timerText.scrollFactor.x = timerText.scrollFactor.y = 0;
- add(lyrStage);
- add(lyrSprites);
- add(lyrHUD);
- }
- override public function update():void
- {
- if (previousTime > int(timeVar))
- {
- timerText.text = int(timeVar) + " seconds left " + "level " + _player.sprite + " " + badCoins + " red till devolve"
- previousTime = int(timeVar);
- trace(timerText.text);
- }
- timeVar -= FlxG.elapsed;
- super.update();
- _player.scale.x = _player.scale.y = 2;
- FlxU.overlap(_player,coins,hitCoin);
- FlxU.overlap(_player,bCoin,hitBadCoin);
- _map.collide(_player);
- _map.collide(coins);
- trace(int(_player.x), int(_player.y));
- FlxG.follow(_player,2.5);
- FlxG.followAdjust(0.5,0.5);
- FlxG.followBounds(1,1,1936 - 1,496 - 1);
- if ((_player.sprite == 0 && badCoins == 0) || previousTime ==0)
- {
- FlxG.state = new DeadState ;
- }
- if (_player.sprite == 9 && goodCoins >= 60)
- {
- FlxG.state = new WinState ;
- }
- if (_player.sprite < 9 && goodCoins == 55)
- {
- FlxG.state = new StarveState ;
- }
- }
- public function hitCoin(player:Player,coin:FlxObject):void
- {
- trace("hit good coin");
- coin.exists = false;
- goodCoins++;
- trace(goodCoins);
- if (goodCoins % 10 == 0 && _player.sprite < 3)
- {
- player.sprite++;
- trace(player.sprite);
- badCoins == 5;
- timeVar -= FlxG.elapsed;
- timeVar = 300;
- previousTime = int(timeVar);
- }
- }
- public function hitBadCoin(player:Player,cy:FlxObject):void
- {
- trace("hit bad coin");
- cy.exists = false;
- if (FlxG.kong)
- {
- FlxG.kong.API.stats.submit( "Total Red Fish Eaten", 1 );
- }
- trace(badCoins);
- badCoins --;
- if (badCoins == 0)
- {
- player.sprite--;
- trace(player.sprite);
- badCoins = 5;
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement