Sintesis
09.08.2010, 17:20
Не знаю как сделать нормальный загрузчик в Флэш Дэвэлопе. Есть несколокь файлов разного формата в папке проэкта, нужно, что-б всё загрузилось, а потом отобразилось на экркне. Вот мой прелоадер:
package
{
import flash.display.*;
import flash.net.*;
import flash.events.*;
import flash.text.*;
[SWF (width = "800", height = "570", frameRate = "120", backgroundColor = "0xbdbfb6")]
public class SlimLoader extends Sprite {
private var genLoader:Loader;
private var storiload:TextField;
public function SlimLoader() {
createLoader();
createIndicator();
load(new URLRequest("project.swf"));
}
private function createLoader():void {
genLoader = new Loader();
genLoader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, progGen);
genLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, completeGen);
genLoader.contentLoaderInfo.addEventListener(Event.INIT, initGen);
}
private function createIndicator():void {
storiload = new TextField();
storiload.autoSize = TextFieldAutoSize.LEFT;
storiload.selectable = false;
storiload.text = "LOADING...";
}
private function load(urlRec:URLRequest):void {
genLoader.load(urlRec);
if (!contains(storiload)) {
addChild(storiload);
}
}
private function progGen(e:ProgressEvent):void {
storiload.text = "LOADING..." + Math.floor(e.bytesLoaded / 1024) + "/" + Math.floor(e.bytesTotal / 1024) + "KBt";
}
private function initGen(e:Event):void {
//addChild(genLoader.content);
}
private function completeGen(e:Event):void {
removeChild(storiload);
addChild(genLoader.content);
}
}
}
Но он к сожалению загружает только файл project.swf и помещает его на stage, дальше догружаются все элементы входящие в project.swf. Нужно, что-б все элементы загрузились, а потом уже отображались. Где-то читал, что нужно всё упаковать в SWC библиотеку, а потом грузить. Обьясните пожалуйста как это организовать.
Добавлено через 10 часов 52 минуты
Так библиотеку SWC на Flash Develop создал, но пока только .as файлы могу в неё добавлять. Нужно ещё разобраться как добавит туда .jpg и .dae но это уже завтра, фух как поздно уже...
Добавлено через 24 часа 36 минут
Ох ну никак.
Подскажите пожалуйста как встроить изображение в SWC библиотеку.
Есть .xml файл настройки компиляции swc, вот его содержимое:
<?xml version="1.0" encoding="utf-8"?>
<flex-config>
<compiler>
<external-library-path>
<path-element>@flex.sdk.dir@/frameworks/libs/player/10.0/playerglobal.swc</path-element>
</external-library-path>
<source-path>
<path-element>@source.dir@</path-element>
</source-path>
</compiler>
<output>@output.dir@/@output.file@</output>
<include-classes>
</include-classes>
</flex-config>
Тут в пункте <include-classes> вставляем класс который нужно упаковать например
<class>Roll</class> здесь Roll является .as файлом. Компилпруем и всё в порядке swc готов. Но нужно ещё встроить в swc изображение fon.jpg но КАК? Помогите, разве никто этого не делал?
так, вписал в этот файлнастройки компиляции вот такое:
<include-file>
<name>fon.jpg</name> <path>D:/FLASH/aprcws/src/fon.jpg</path>
</include-file>
все скомпилпровалось без ошибок, но в swc библиотеке ничего не появилось, хотя размер её увеличился, гм странно!
Нет, не встраивается, эх что делать? :-(
Добавлено через 33 часа 45 минут
видимо без flash cs3 не обойтись
Добавлено через 54 часа 24 минуты
О, я тут два дня сам разговариваю!
package
{
import flash.display.*;
import flash.net.*;
import flash.events.*;
import flash.text.*;
[SWF (width = "800", height = "570", frameRate = "120", backgroundColor = "0xbdbfb6")]
public class SlimLoader extends Sprite {
private var genLoader:Loader;
private var storiload:TextField;
public function SlimLoader() {
createLoader();
createIndicator();
load(new URLRequest("project.swf"));
}
private function createLoader():void {
genLoader = new Loader();
genLoader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, progGen);
genLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, completeGen);
genLoader.contentLoaderInfo.addEventListener(Event.INIT, initGen);
}
private function createIndicator():void {
storiload = new TextField();
storiload.autoSize = TextFieldAutoSize.LEFT;
storiload.selectable = false;
storiload.text = "LOADING...";
}
private function load(urlRec:URLRequest):void {
genLoader.load(urlRec);
if (!contains(storiload)) {
addChild(storiload);
}
}
private function progGen(e:ProgressEvent):void {
storiload.text = "LOADING..." + Math.floor(e.bytesLoaded / 1024) + "/" + Math.floor(e.bytesTotal / 1024) + "KBt";
}
private function initGen(e:Event):void {
//addChild(genLoader.content);
}
private function completeGen(e:Event):void {
removeChild(storiload);
addChild(genLoader.content);
}
}
}
Но он к сожалению загружает только файл project.swf и помещает его на stage, дальше догружаются все элементы входящие в project.swf. Нужно, что-б все элементы загрузились, а потом уже отображались. Где-то читал, что нужно всё упаковать в SWC библиотеку, а потом грузить. Обьясните пожалуйста как это организовать.
Добавлено через 10 часов 52 минуты
Так библиотеку SWC на Flash Develop создал, но пока только .as файлы могу в неё добавлять. Нужно ещё разобраться как добавит туда .jpg и .dae но это уже завтра, фух как поздно уже...
Добавлено через 24 часа 36 минут
Ох ну никак.
Подскажите пожалуйста как встроить изображение в SWC библиотеку.
Есть .xml файл настройки компиляции swc, вот его содержимое:
<?xml version="1.0" encoding="utf-8"?>
<flex-config>
<compiler>
<external-library-path>
<path-element>@flex.sdk.dir@/frameworks/libs/player/10.0/playerglobal.swc</path-element>
</external-library-path>
<source-path>
<path-element>@source.dir@</path-element>
</source-path>
</compiler>
<output>@output.dir@/@output.file@</output>
<include-classes>
</include-classes>
</flex-config>
Тут в пункте <include-classes> вставляем класс который нужно упаковать например
<class>Roll</class> здесь Roll является .as файлом. Компилпруем и всё в порядке swc готов. Но нужно ещё встроить в swc изображение fon.jpg но КАК? Помогите, разве никто этого не делал?
так, вписал в этот файлнастройки компиляции вот такое:
<include-file>
<name>fon.jpg</name> <path>D:/FLASH/aprcws/src/fon.jpg</path>
</include-file>
все скомпилпровалось без ошибок, но в swc библиотеке ничего не появилось, хотя размер её увеличился, гм странно!
Нет, не встраивается, эх что делать? :-(
Добавлено через 33 часа 45 минут
видимо без flash cs3 не обойтись
Добавлено через 54 часа 24 минуты
О, я тут два дня сам разговариваю!