2014-12-10 4 views
0

У меня есть основной класс, в котором управляются и создаются три других объекта класса и все они распространяются от Sprite. Моя проблема заключается в том, что они загружаются правильно, поскольку у меня есть внешние ресурсы (изображения и звуки), загружаемые в эти 3 класса. У меня есть простая .fla, которая ссылается на «Main». Как я могу обеспечить, чтобы соответствующий экземпляр класса загружался должным образом, прежде чем он был добавлен на сцену?Предварительная загрузка объектов класса объектов внутри основного класса

Я попытался сделать три класса наследовать от класса Loader для получения байтов/total для класса, но это вызывает другие проблемы в коде, который требует атрибутов из Sprite. Должен ли я предварительно предварительно загрузить ВСЕ активы внутри класса, создав таким образом объект-экземпляр «Main»? Спасибо за любую помощь/совет.

+1

в Main.as, когда вы объявляете, что 'public var myClassRefname: myClass = new myClass();' вы в значительной степени запускаете его там и потом. Любой код в этой публичной функции myClass() {// etc} ', включая тот, который загружает элементы, будет происходить здесь до следующей строки в Main.as. Таким образом, вы можете также иметь эти классы ** [отправить специальное событие] (http://blog.cjgammon.com/as3-custom-events-made-easy/) **, когда они заканчивают загрузку всех своих предметов. Main.as будет слушать их и, возможно, обновлять счетчик, поэтому, когда 'classes_loaded_count == 3; // Предположим, что все активы загружены' и продолжаются как обычно:} –

+1

Скорее всего, Flash уже сделал это за вас, особенно если вы ссылаетесь на эти классы в 'Main' по их именам, как в' var a: ClassOne; '. Если ваши другие классы расположены в отдельных SWF-файлах, вы можете создать экземпляр «Loader» для загрузки этого SWF, а затем использовать 'getDefinitionByName()', чтобы получить информацию о классе из содержимого загрузчика после того, как загрузчик отправит «Event.COMPLETE» , Есть проблемы с безопасностью, с которыми вам приходится работать, но это выполнимо. – Vesper

+0

Спасибо вам большое за вашу помощь. Это конкретное приложение развертывалось в системе управления обучением. Проблема заключалась в том, что его приложение зависало от сценария .js, используемого для связи SCORM. Тем не менее, мне было очень полезно узнать, как flash управляет созданием экземпляра, я очень благодарен за помощь, которую вы предоставили. – hexobolic

ответ

0

Спасибо вам большое за помощь. Это конкретное приложение развертывалось в системе управления обучением. Проблема заключалась в том, что его приложение зависало от сценария .js, используемого для связи SCORM. Тем не менее, мне было очень полезно узнать, как flash управляет созданием экземпляра, я очень благодарен за помощь, которую вы предоставили.