Suite à une discution suivit sur la ML de MTASC.

J'ai pondu un template FDT pour créer un Singleton sur la classe d'entrée de MTASC :

class Application 
{
	private static var _instance : Application;
	private static var __root : MovieClip;
	
	private function Application (mc:MovieClip)
	{
		__root = mc;
	};
	
	/**
	 * @return singleton instance of Application
	 */
	public static function main( mc:MovieClip ) : Application
	{
		if ( _instance == undefined )
		{
			_instance = new Application(mc);
		}
		return _instance;
	}
 
}

Pour la charger : MTASC_Singleton.xml

Après discution avec François dit le fonk, voilà ce qui en est sortit :

class Test extends MovieClip
{
	private static var __scope__ : MovieClip;
	private static var __inst : Test;
	
	private function Test()
	{
		super();
	}
	
	/**
	 * @return singleton instance of Test
	 */
	public static function getInstance( Void ) : Test
	{
		if( __inst == undefined)
		{
			__inst = Test( __scope__ );
			__scope__.__proto__ = Test.prototype;
			__scope__.constructor = Test;
			__scope__.constructor.call( __scope__ );
		}
		return __inst;
	}
	private static function main( scope:MovieClip ) : Void
	{
		__scope__ = scope;
		var app = Test.getInstance();
	}
}

Pour la charger : MTASC_Single_MovieClip_inherit.xml

A vous de choisir. ;)