Я разрабатываю небольшую игру, и я создаю класс для объекта-моба. Класс содержит несколько широких переменных, которые будут полезны при создании нескольких экземпляров этого объекта. Мне было интересно, было бы нормально иметь загрузчика внутри класса вместо загрузчика в основном классе, который можно было бы использовать для загрузки изображений для класса mob, который я пишу.AS3 загрузчик в классе экземпляров
Это нормально? Я видел несколько сообщений о том, что у меня есть несколько загрузчиков, и это было бы так, но ни одна из сообщений, казалось, не упоминала, что было бы наиболее эффективным. Я делал это раньше в других проектах, но не имею никаких тестов или чего-то еще.
Так может ли кто-нибудь сказать мне, если это не слишком ресурсоемкое, чтобы каждый экземпляр использовал свой собственный загрузчик, а затем установил его равным null после загрузки изображения? Объем проекта довольно прост, но хорошо знать будущие проекты.
--edit--
Я просто смотрел в graphics.copyfrom (источник) и понял, что не собирается работать. Еще больше исследований привело меня к неожиданному отсутствию «клонирования мувиклипа». Кроме того, как я боялся, указывая несколько мувиклипов на содержимое загрузчика, удалил их все, когда я попытался его удалить.
К сожалению, хотя мой первоначальный выбор может быть неэффективным, это, в основном, единственный способ, которым это можно сделать ... У каждой мобы есть анимированный swf movieclip, поэтому я не могу создавать растровые изображения. Я также не могу повторно использовать контент от загрузчиков, потому что, если несколько мувиклипов указывают на него, изменение одной толпы вызовет изменения в мувиклипах остальных. К сожалению, я собираюсь - на данный момент - придерживаться каждой толпы, имеющей собственный загрузчик (который установлен в значение null после использования) и загрузки внешнего swf. Видимо, в AS2 был способ сделать это, и я не хочу использовать символ библиотеки с классами документов. Итак, я застрял. Спасибо за помощь, я думаю, отправьте сообщение, если вы выясните решение моей проблемы!
--edit--
я понял фрагмент кода может также быть полезным. Имейте в виду, что это swfs с загружаемыми 20 + кадрами.
public class Spawner {
var mc:MovieClip;
var loader:Loader;
var refr:Stage;
var x:Number,y:Number;
var loaded:Boolean = false;
public function Spawner(ref:Stage, type:String, inx:Number, iny:Number) {
refr = ref;
x = inx;
y = iny;
loader = new Loader();
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, loadImg);
loader.load(new URLRequest(type));
}//constructor
public function loadImg(e:Event):void{
mc = MovieClip(e.target.content);
loader.contentLoaderInfo.removeEventListener(Event.COMPLETE, loadImg);
refr.addChild(mc);
mc.gotoAndStop(1);
mc.x = x;
mc.y = y;
refr = null;
loader = null;
loaded = true;
}//loadImg
}//class
Я не очень люблю эту терминологию. Может ли «bitmapdata» быть анимированным swf/movieclip? Если это так кажется хорошей идеей. Какой метод я использовал бы для MovieClips как отдельные копии источника? – user2118704
Подождите, я думаю, у меня есть идея ... было бы хорошо иметь массив загрузчиков, содержащих ресурсы, чтобы я мог просто передать их содержимое конструкторам моих объектов? Как ... Arr [0] = new Loader(); Arr [0] .contentLoaderInfo.addEventListener (Event.COMPLETE, dostuff); Arr [0] .load (новый URLRequest ("someresource.swf")); затем в методе 'dostuff': Arr [0] = MovieClip (event.target.content); , и тогда я смогу установить для него мувиклипы, и каждый из них будет их собственным экземпляром? – user2118704
Или (извините за изменения) было бы лучше сделать то, что у меня было выше, но использовать 'moveclip.copygraphics (Arr [0] .graphic);'? – user2118704