expl спасибо большое за объяснение
"универсальный" для моего приложения, у меня в пуле будут либо спрайты, либо мувики, соответственно выбрал мувик.
Меня интересовала, как из класса в класс переслать мувик и наделать его экземпляров, тем самым получить пул, в который я смогу отправить нужный мувик, пулов мне понадобиться около 5-7, вот и заморочился, так то я быстро сделаю для каждого отдельный пул, но хочется красоты)
Добавлено через 1 час 2 минуты
Код AS3:
package package_cl{
import flash.display.MovieClip;
import flash.events.Event;
public class Vector_Pool_cl {
public var vectorPool: Vector.<MovieClip> = new Vector.<MovieClip>;
private var lengthVector: int;
private var movieClip: MovieClip;
public function Vector_Pool_cl(_lengthVector: int, _movieClip: MovieClip) {
lengthVector = _lengthVector;
movieClip = _movieClip;
var i = lengthVector;
while (--i > -1){
vectorPool.push(movieClip); //как тут создать экземпляр класс? Используя параметры этой функции
}
}
public function fn_push_pool (i):void{
vectorPool.push(vectorPool[i]);
}
public function fn_add_pool ():void{
var vectorMovieClip = movieClip;
vectorPool.push(vectorMovieClip);
}
}
}
Добавлено через 1 час 46 минут
в общем решение нашёл такое, хотя есть вопрос, код до конца не понимаю
Код AS3:
package package_cl{
import flash.display.MovieClip;
import flash.events.Event;
import flash.utils.*;
public class Vector_Pool_cl {
public var vectorPool: Vector.<MovieClip> = new Vector.<MovieClip>;
private var lengthVector: int;
private var movieClip: MovieClip;
public function Vector_Pool_cl(_lengthVector: int, _movieClip: MovieClip) {
lengthVector = _lengthVector;
movieClip = _movieClip;
var i = lengthVector;
//*********************************************************
var movieClipDef:Class = MovieClip(movieClip).constructor;
//что мы тут делаем, объясните подробно, кому не сложно,
// что происходит, после объявления типа класс
//мы в итоге получаем экземпляр класса?
//************************************************************
while (--i > -1){
var movieClipView = new movieClipDef ();
vectorPool.push(movieClipView);
}
}
public function fn_push_pool (i):void{
vectorPool.push(vectorPool[i]);
}
public function fn_add_pool ():void{
var movieClipDef:Class = MovieClip(movieClip).constructor;
var movieClipView = new movieClipDef ();
vectorPool.push(movieClipView);
}
}
}