Skip to content

Instantly share code, notes, and snippets.

@jonahvsweb
Forked from alamboley/gist:4024256
Created January 29, 2013 05:24
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jonahvsweb/4662025 to your computer and use it in GitHub Desktop.
Save jonahvsweb/4662025 to your computer and use it in GitHub Desktop.
//In your Main class :
public function Main() {
levelManager = new LevelManager(ALevel);
levelManager.applicationDomain = ApplicationDomain.currentDomain; // to be able to load your SWF level on iOS
levelManager.onLevelChanged.add(_onLevelChanged);
levelManager.levels = [[Level1, "levels/A1/LevelA1.swf"], [Level2, "levels/A2/LevelA2.swf"]];
levelManager.gotoLevel(); //load the first level, you can change the index. You can also call it later.
}
private function _onLevelChanged(lvl:ALevel):void {
state = lvl;
lvl.lvlEnded.add(_nextLevel);
lvl.restartLevel.add(_restartLevel);
}
private function _nextLevel():void {
levelManager.nextLevel();
}
private function _restartLevel():void {
state = levelManager.currentLevel as IState;
}
// Note that you must create an abstract class : Level1 and Level2 extends ALevel
// which extends the State or StarlingState class. From our example :
public class ALevel extends State {
public var lvlEnded:Signal;
public var restartLevel:Signal;
protected var _level:MovieClip;
public function ALevel(level:MovieClip = null) {
super();
_level = level;
lvlEnded = new Signal();
restartLevel = new Signal();
// Useful for not forgetting to import object from the Level Editor
var objectsUsed:Array = [Hero, Platform, Enemy, Sensor, CitrusSprite];
}
override public function initialize():void {
super.initialize();
var box2d:Box2D = new Box2D("Box2D");
add(box2d);
// create objects from our level made with Flash Pro
ObjectMaker2D.FromMovieClip(_level);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment