![]() |
|
||||||||||
|
|||||
|
Регистрация: Jul 2012
Сообщений: 3
|
Я так понимаю, что надо делать через Embed, затем загрузить в byteArray, а loader, после loader.loadBytes(byteArray as ByteArray), добавить так: this.AddChild(loader).... Но у меня ничего не выходит
import flash.events.*; import flash.display.*; import flash.utils.*; [Embed(source = "data.swf",mimeType = "application/octet-stream")] var cl:Class; var byteLoader:ByteArray = new cl as ByteArray; var loader:Loader = new Loader(); loader.loadBytes(byteLoader); this.addChild(loader); Я просто хочу научиться делать вложение друг в друга SWF зашифрованных файлов ( что то типа защиты от быстрого вскрытия)... Ну вот и решил начать с не зашифрованного и не сжатогофайла... Еси можите, научите плиз как это делать правильно... |
|
|||||
package { import flash.display.DisplayObject; import flash.display.Loader; import flash.display.Sprite; import flash.utils.ByteArray; /** * ... * @author casey ryan */ public class Main extends Sprite { [Embed(source="swf/TestSwf.swf", mimeType="application/octet-stream")] private var EmbededSWF:Class; public function Main() { var ba:ByteArray = new EmbededSWF as ByteArray; var loader:Loader = new Loader(); loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onLoadComplete); loader.loadBytes(ba); } private function onLoadComplete(e:Event):void { e.target.removeEventListener(Event.COMPLETE, onLoadComplete); var loadedSwf:DisplayObject = e.target.content as DisplayObject; addChild(loadedSwf); } } } |
|
|||||
|
Регистрация: Jul 2012
Сообщений: 3
|
package { import flash.display.*; import flash.utils.ByteArray; import flash.events.*; /** * ... * @author casey ryan */ public class main extends Sprite { [Embed(source="data.swf", mimeType="application/octet-stream")] private var EmbededSWF:Class; public function main() { var ba:ByteArray = new EmbededSWF as ByteArray; trace(ba.length+', '+ba[0]+' '+ba[1]+' '+ba[2]+' '); var loader:Loader = new Loader(); loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onLoadComplete1); loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, onProgressGo); trace(ba.length); trace(loader); loader.loadBytes(ba as ByteArray); trace('End Main'); } private function onProgressGo(e:ProgressEvent):void{ trace('Loading....'); } private function onLoadComplete1(e:Event):void { trace('Complete!'); e.target.removeEventListener(Event.COMPLETE, onLoadComplete1); var loadedSwf:DisplayObject = e.target.content as DisplayObject; addChild(loadedSwf); trace('ADD'); } } } Вот немного модифицировал, поставил traces... Вот что выводит: 3808011, 70 87 83 3808011 [object Loader] Loading.... Loading.... End Main // 70d 87d 83d = 46h 57h 53h = F W S Ну и нет в выводе Сomplete и ADD, поэтому я могу сказать точно что загрузка в loader не произошла... Хелп снова, кто - что подскажет? P.S.Adobe Flash Professional (c) |
|
|||||
|
Модрон-ветеринар
|
stronhold, не злоупотребляйте размером шрифта. Это только сбивает с толку. Достаточно выделения цветом, зрение у всех в порядке.
__________________
Идите первым! |
|
|||||
|
Цитата:
Возможно проблема с файлом data.swf. Хотя не понимаю как в таком случае могут выводиться осальные трейсы. Я тестировал на этом файле |
|
|||||
|
Регистрация: Jul 2012
Сообщений: 3
|
Цитата:
![]() Тему можно закрывать, Спасибо всем еще раз... |
![]() |
![]() |
Часовой пояс GMT +4, время: 03:50. |
|
|
« Предыдущая тема | Следующая тема » |
|
|