Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   loader не грузит изображения (http://www.flasher.ru/forum/showthread.php?t=166061)

ЗлОй ПрОграММер 29.08.2011 20:38

решил лучше через loadBytes попробовать сделать
Код AS3:

var byteArray: ByteArray = new ByteArray();
var bmd: BitmapData;
var bmp: Bitmap = new Bitmap();
FriendsLoader.loadBytes(byteArray);
bmd.setPixels(new Rectangle(0, 0, 50, 50), byteArray);
bmp.bitmapData = bmd;
addChild(bmp);

но опять не чего не вышло ( проверьте я правильно всё сделал ?

silin 29.08.2011 20:38

проблема здесь в том, что загрузить\показать плееру позволено откуда угодно, но использовать можно только то, что разрешено (читай про sandbox\policy files)
т.е. надо либо разобраться с разрешениями (crossdomain.xml) либо грузить с помощью хаков типа:
Код AS3:

public class TestLoader extends Sprite
{
 
        public function TestLoader():void
        {
                var loader:Loader = new Loader();
                loader.contentLoaderInfo.addEventListener(Event.COMPLETE, loader_complete1);
                loader.load(new URLRequest("http://flasher.ru/forum/images/russian/flasher_logo.gif"));
        }
 
        private function loader_complete1(e:Event):void
        {
                e.target.removeEventListener(e.type, arguments.callee);
 
                // попытка использовать здесь e.target.content вызовет Security sandbox violation RTE
                // поэтому скармливаем  лоадеру полученные данные через loadBytes
                var loader:Loader = new Loader();
                loader.contentLoaderInfo.addEventListener(Event.COMPLETE, loader_complete2);
                loader.loadBytes(LoaderInfo(e.target).bytes);
        }
 
        private function loader_complete2(e:Event):void
        {
                e.target.removeEventListener(e.type, arguments.callee);
 
                // а здесь уже как бы и можно :),
                // только это будет не Bitmap
                var content:DisplayObjectContainer = e.target.content as DisplayObjectContainer;
                // Bitmap внутри
                var bmp:Bitmap = content.getChildAt(0) as Bitmap;
                addChild(bmp);
 
        }
}


ЗлОй ПрОграММер 29.08.2011 20:43

ладно попробую разобраться, спасибо!

FlashWizard 29.08.2011 21:24

Вот, похожая проблема у меня была.

dimarik 29.08.2011 21:33

Цитата:

Сообщение от Genzo (Сообщение 1026610)
Код AS3:

e.target.loader.content


Так должно быть понятнее:
Код AS3:

(e.target as LoaderInfo).content

Сравните с авторским

Код AS3:

e.target.content as Bitmap

Остальное здесь

ЗлОй ПрОграММер 29.08.2011 22:09

спасибо сделал как там было написано на первый взгляд всё работает) надеюсь так оно и будет)
ещё раз спасибо)


Часовой пояс GMT +4, время: 07:11.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.