Форум Flasher.ru

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

allanon85 04.12.2010 19:17

показ загруженной картинки
 
Гружу картинку так:
Код AS3:

var ldrObj:Loader = new Loader();
function startLoadPicObj(num:Number){
        objLoad=num;
        var _arr:Array=mapObjDataArr[objLoad].split("|");               
        var urlReqObj:URLRequest = new URLRequest(_arr[0]);       
        ldrObj.load(urlReqObj);
        ldrObj.contentLoaderInfo.addEventListener(Event.COMPLETE, completeLoadObj);
}
function completeLoadObj(event:Event){
        var _arr:Array=mapObjDataArr[objLoad].split("|");
        var _corX=_arr[1];
        var _corY=_arr[2];
        var _mc:DisplayObject=ldrObj.content;
        var _pravX=Math.floor(_mc.width/128);
        var _pravY=Math.floor(_mc.height/32);
        var _pPravX=0;
        if (Math.floor(_corY/2)<(_corY/2)){
                _pPravX=32;
        }else{
                _pPravX=0;
        }
        _mc.x=Number(mapXML.@startSecX)+(_corX-Number(mapXML.@startCorSecX)-_pravX)*64+32+_pPravX;
        _mc.y=Number(mapXML.@startSecY)+(_corY-Number(mapXML.@startCorSecY)-_pravY)*16;
        contObj.addChild(_mc);
}

в редакторе все нормально. когда размещаю в сети, картинка не показывается. Удалось узнать что код стопорится на вот этой строчке
Код AS3:

var _mc:DisplayObject=ldrObj.content;

то есть картинка грузится, доходит до этой строчки и дальше код не читается.
Подскажите плз в чем может быть проблема.

КорДум 04.12.2010 19:46

Ну вероятно вылетает RTE. Поставьте себе дебаг-плеер и узнаете. Политика безопасности.

goodguy 04.12.2010 19:46

В том, что для сети нужно публиковать файл с настройкой network access only
Выставляется во flash ide в настройках публикации
file - publish settings - flash - local playback security - access network only

allanon85 04.12.2010 20:08

goodguy,
не помогает

TWETTI 04.12.2010 20:22

allanon85, а debug плеер что-нибудь пишет?

КорДум 04.12.2010 20:45

А что, мой пост был проигнорирован? Как раз глохнет на строчке, где пытаетесь получить доступ к данным, защищенным политикой безопасности. Налицо RTE.

allanon85 04.12.2010 21:04

КорДум,
он не был проигнорирован
Подскажите как обойти. пробовал вызывать ту же ссылку в ас2, там нормально работает.

КорДум 04.12.2010 21:09

А вы знаете, что такое политика безопасности? Прочтите про нее. Вероятно вы грузите картинку с другого домена, нежели домена, где находится ваша флешка.

allanon85 04.12.2010 21:45

Картинку гружу с другого домена.
Может все таки подскажите?
пол форума уже облазил. максимум что нашел это такое:
Код AS3:

Security.allowDomain("*"); 
var context:LoaderContext = new LoaderContext(false, ApplicationDomain.currentDomain);
context.securityDomain = SecurityDomain.currentDomain;
context.checkPolicyFile = true;
context.applicationDomain = ApplicationDomain.currentDomain;
var loader:Loader = new Loader();
var request:URLRequest = new URLRequest("ссылка");
loader = new Loader();
loader.load(request, context);

еще какой то файл некоторые грузят, но что это за файл и где его взять не поясняют(.

TWETTI 04.12.2010 22:06

Цитата:

Сообщение от allanon85 (Сообщение 955001)
еще какой то файл некоторые грузят, но что это за файл и где его взять не поясняют(.

Чтобы скачать файл файл с другого домена необходимо загрузить с этого домена файл политики безопасности. Например картинка лежит на сайте www.somesite.com/image.jpg
Чтобы её скачать нужно разместить рядом с ней файл crossdomain.xml
Код AS3:

<?xml version="1.0"?>
<cross-domain-policy>
 <allow-access-from domain="*" />
</cross-domain-policy>

И загрузить этот файл во флеше:
Код AS3:

flash.System.Security.loadPolicyFile("www.somesite.com/crossdomain.xml");


allanon85 04.12.2010 22:11

а если разместить такой файл нет возможности?
ас2 ведь грузит нормально, неужели в ас3 никак нельзя?

TWETTI 04.12.2010 22:39

Цитата:

Сообщение от allanon85 (Сообщение 955010)
а если разместить такой файл нет возможности?
ас2 ведь грузит нормально, неужели в ас3 никак нельзя?

По-моему никак.


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

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