Показать сообщение отдельно
Старый 30.06.2011, 17:51
FinalBoss вне форума Посмотреть профиль Отправить личное сообщение для FinalBoss Найти все сообщения от FinalBoss
  № 6  
Ответить с цитированием
FinalBoss

Регистрация: Feb 2010
Сообщений: 9
Цитата:
Сообщение от kackbip Посмотреть сообщение
Да, вы можете это реализовать с помощью того, что я описал выше.
Да, все получилось, спасибо!
Состряпал тут для наглядности, может ещё кому пригодится:

Код AS1/AS2:
import flash.utils.getDefinitionByName;
import flash.utils.getQualifiedClassName;
import flash.display.MovieClip;
 
var AArray:Array = new Array();
var BArray:Array = new Array();
 
function AddElementsTo(A:Array, num:int, NeedClass:String):void {
	for (var i:int = 0; i < num; i++) {
		var someClass:Class = getDefinitionByName(NeedClass) as Class;
		A.push(new someClass());	
	}
}
 
function AddElementsTo2(A:Array, num:int, NeedClass:*):void {
	var nameClass:String = getQualifiedClassName(NeedClass) as String;
	trace(nameClass);
	for (var i:int = 0; i < num; i++) {
		var someClass:Class = getDefinitionByName(nameClass.toString()) as Class;
		A.push(new someClass());	
	}
}
 
AddElementsTo(AArray, 3, "flash.display.Sprite"); // указываем нужный класс
AddElementsTo2(BArray, 5, AArray[1]); // реализация, где просто даем ссылку на экземпляр нужного класса
 
trace(AArray + "\n" + BArray);
 
//результат
[object Sprite],[object Sprite],[object Sprite]
[object Sprite],[object Sprite],[object Sprite],[object Sprite],[object Sprite]
Ну похоже тема закрыта


Последний раз редактировалось FinalBoss; 30.06.2011 в 17:54.