Flex: нужен встроенный SWF для взаимодействия с ресурсами проекта - PullRequest
0 голосов
/ 13 января 2011

У меня есть проект Flex, в который я встраиваю Flash SWF, содержащий средство просмотра изображений. Встраиваемый мной SWF-файл дополняется XML-файлом, который содержит список отображаемых изображений и папку с изображениями.

Проблема, с которой я сталкиваюсь, заключается в том, что встроенный SWF-файл не может загрузить изображения. Я могу видеть кнопки навигации вперед / назад, но загруженных изображений нет. Когда я смотрю SWF-файл за пределами проекта Flex, он работает нормально. Это потому, что Flex не позволяет SWF выходить за пределы и получать доступ к другим ресурсам проекта? Как я могу обойти это?

Вот мой код для встраивания SWF:

<mx:Script>
<![CDATA[
    import mx.controls.Image;
    import mx.events.CloseEvent;
    import mx.managers.PopUpManager;

    [Embed(source = '../components/sampleReportViewer/photo_stack_gallery.swf')]
    [Bindable] public var SWFClass:Class;

    private function init():void {          
        //add the swf to the container
        var img:Image = new Image();
        img.source = MovieClip(new SWFClass());
        contentBox.addChild(img);       

        PopUpManager.centerPopUp(this);
    }
]]>

<mx:VBox id="contentBox"
    width="600" height="450"/>

Ответы [ 2 ]

1 голос
/ 14 января 2011

Сначала загрузите изображения через загрузчик,

var loaderSmall: Loader = new Loader (); loaderSmall.load (новый URLRequest (imgArr [0] .path)); loaderSmall.contentLoaderInfo.addEventListener (ProgressEvent.PROGRESS, loadThumbImage); loaderSmall.contentLoaderInfo.addEventListener (Event.COMPLETE, hideThumbImageLoader);

Здесь,

imgArr [0] .path

- это путь к изображению, которое нужно загрузить, теперь с этим типом установки вы можете делать намного больше вещей, теперь вы можете проверить, загружается ли изображение или нет

Это одна из примеров галереи, которую я разработал, она не очень идеальная, но загружаемые мною изображения загружаются через загрузчик, http://no -refresh.com / демо / PortfolioSlideshow2 /

В вашей задаче сначала проверьте путь, правильно это или нет, но может быть неверно изображение,

Как писал @weltraumpirat, проверьте и это,

я знаю, что это тебе не поможет, но, конечно, надеюсь, что это поможет тебе, tc

Анкур

1 голос
/ 14 января 2011

Полагаю, ваш рабочий путь не совпадает. Судя по относительным путям в вашем URL (../), у вас есть структура проекта, которая выглядит примерно так:

|
index.html
|
+ swf
| |
|  main.swf
|
+ components
|
+ xml

В этом случае ваш Flash-плеер примет родительскую папку index.html в качестве текущего рабочего пути, если вы загрузите HTML-страницу в браузер, и все ваши ссылки ../ не найдут правильные ресурсы тогда как, если вы начнете с двойного щелчка по swf напрямую, все будет работать нормально.

...