Показать сообщение отдельно
Старый 27.07.2011, 12:19
shadowrun вне форума Посмотреть профиль Отправить личное сообщение для shadowrun Найти все сообщения от shadowrun
  № 3  
Ответить с цитированием
shadowrun

Регистрация: Apr 2011
Адрес: марс
Сообщений: 9
почитал - не понял(
там про порядок наложения разных мувиклипов

Но...
example.as - это же не мувиклип(

Добавлено через 43 минуты
насколько понял - копаться нужно гдето здесь..

помогите пожалуйста

Код AS1/AS2:
class com.silin.InstanceManager {
	/**
	 * ставит экземпляр в цепочку наследования и вызывает конструктор
	 * @param	customClass :класс
	 * @param	obj 		:экземпляр
	 * @param	argArr 		:массив аргументов конструктора класса
	 */
	static function setClass(customClass:Function, obj:Object, argArr:Array){
		obj.__proto__ = customClass.prototype;
		customClass.apply(obj, argArr||null);
	}
	/**
	 * создает мувик в parent, если надо то и пользовательского класса
	 * @param	[parent=_root] 		- где создаем
	 * @param	[customClass=null] 	- расширяющий класс
	 * @param	[argList=null] 		- аргумены конструктора customClass (перечислением)
	 * @return  мувик(или его наследник customClass)
	 * 
	 */
	static function createMC(parent:MovieClip, customClass:Function, argList) {
		if(parent==undefined) parent=_level0;
		var depth:Number=getFreeDepth(parent);
		var name:String='clip'+depth;
		var mc:MovieClip=parent.createEmptyMovieClip(name,depth);
		if(customClass!=undefined){
			setClass(customClass,mc,arguments.slice(2));
		}
		return mc;
    }
 
 
	//стандартные установки для Stage
	static function defaultStage():Void{
		Stage.showMenu=false;
		Stage.scaleMode="noScale";
		Stage.align="TL";
	}
	/**
	 * создает текстфилд в parent, если задано то и пользовательского класса
	 * @param	parent 		: где создаем
	 * @param	text 		: текст
	 * @param	format 		: строка с описанием формата типа "font:Arial,size:16,.."
	 * @param  	customClass	: расширяющий класс
	 * @param  	argList		: аргумены конструктора customClass (перечислением)
	 * @return  текстфилд(или его наследник customClass)
	 */
	static function createTF(parent:MovieClip, text:String, format:String, customClass:Function, argList){
		if(parent==undefined) parent = _level0;
		var depth:Number=getFreeDepth(parent);
		var name:String = "tf"+depth;
		var tf:TextField = parent.createTextField(name,depth,0,0,0,0);
		tf.autoSize=true;
		if(format){
			var fmt:TextFormat=new TextFormat();
			var arr:Array=format.split(",");
			for (var i:Number = 0; i < arr.length; i++){
				var item:Array=arr[i].split(":");
				var prop:String=item[0].split(" ").join("");
				var val:String=item[1].split("#").join("0x");
				fmt[prop]=val;
			}
			tf.setNewTextFormat(fmt);
 
		}
		tf.text=text || "";
		if(customClass!=undefined){
			setClass(customClass,tf,arguments.slice(4));
		}
		return tf;
	}
	//удаляет мувик или текстфилд невзирая на глубину
	static function removeInstance(obj:Object){
		var objDepth:Number=obj.getDepth();
		if(objDepth==undefined) return;
		if(objDepth<0 || objDepth>0xFFFFF){
			var legalDepth:Number=getFreeDepth(obj._parent);
			_root.swapDepths.call(obj,legalDepth);
		}
		obj.removeMovieClip();
		obj.removeTextField();
	}
	//первая свободная глубина в parent 
	static function getFreeDepth(parent:MovieClip):Number{
		var depth:Number=0;
		while(parent.getInstanceAtDepth(depth))depth++;
		return depth;
	}
 
 
}