Flash CS4 Loader Class: изображение загружается изначально, но возвращается ошибка при загрузке нового изображения - PullRequest
0 голосов
/ 22 марта 2011

Это очень сложно объяснить в заголовке ... Во-первых, вот мой код в ActionScript:

var digitalGallery:Loader = new Loader();
digitalGallery.x = 730
digitalGallery.y = 210
digitalGallery.load(new URLRequest("images/nair_evanescentautumn.png"));
addChild(digitalGallery);

function dgtlLatest(event:MouseEvent):void {
 if(event.target == new_thumb1) {
    digitalGallery.load(new URLRequest("images/iilu_evanescantautumn.png"));
 }
 else if(event.target == new_thumb2) {
    digitalGallery.load(new URLRequest("images/daem_evanescantautumn.png"));
 }
 else if(event.target == new_thumb3) {
    digitalGallery.load(new URLRequest("images/moon_evanescantautumn.png"));
 }
 else if(event.target == new_thumb4) {
    digitalGallery.load(new URLRequest("images/dael_evanescantautumn.png"));
 }
}

function dgtlGalery(event:MouseEvent):void {
 if(event.target == gal_thumb1) {
    digitalGallery.load(new URLRequest("images/kryo_evanescantautumn.png"));
 }
 else if(event.target == gal_thumb2) {
    digitalGallery.load(new URLRequest("images/nair_evanescantautumn.png"));
 }
 else if(event.target == gal_thumb3) {
    digitalGallery.load(new URLRequest("images/lite_evanescantautumn.png"));
 }
 else if(event.target == gal_thumb4) {
    digitalGallery.load(new URLRequest("images/oasi_evanescantautumn.png"));
 }
}

new_thumb1.addEventListener(MouseEvent.CLICK,dgtlLatest);
new_thumb2.addEventListener(MouseEvent.CLICK,dgtlLatest);
new_thumb3.addEventListener(MouseEvent.CLICK,dgtlLatest);
new_thumb4.addEventListener(MouseEvent.CLICK,dgtlLatest);

gal_thumb1.addEventListener(MouseEvent.CLICK,dgtlGalery);
gal_thumb2.addEventListener(MouseEvent.CLICK,dgtlGalery);
gal_thumb3.addEventListener(MouseEvent.CLICK,dgtlGalery);
gal_thumb4.addEventListener(MouseEvent.CLICK,dgtlGalery);

Этот скрипт предназначен для галереи изображений загрузчика во флэш-памяти, как часть задания класса. Что происходит, что во флэш-памяти, когда я открываю SWF-файл, начальное изображение (images / nair_evanescentautumn.png) будет загружаться нормально. Однако нажатие на любое уменьшенное изображение (включая те же самые изображения / nair_evanescentautumn.png) приведет к ошибке, указывающей, что файл не найден.

Я не могу понять, почему это происходит ... Я проверил это. Нажатие каждой миниатюры приводит к правильному положению в двух отдельных функциях. Все упомянутые ссылки полноразмерных изображений находятся в папке images /, и замена исходного загрузочного изображения загрузит другие изображения вместо стандартных. Однако нажатие на любую миниатюру по-прежнему приводит к тому, что URL не найден, хотя все работает правильно.

Это просто сводит меня с ума ... не может быть так сложно создать простую галерею.

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

Вся помощь очень ценится ...

EDIT:

Извините, что не опубликовал ошибку ...

Error #2044: Unhandled IOErrorEvent:. text=Error #2035: URL Not Found.

РЕДАКТИРОВАТЬ 2:

Вот ссылка на весь набор файлов:

http://www.tsr -online.org / вспышка / index.swf

Мой сервер не разрешает доступ к индексу папки / flash, но я могу предоставить список каталогов.

/ flash каталог: / изображения (содержит все изображения) / cmsn (содержит подстраницы Commissions.swf) index.swf home.swf blog.swf traditional.swf digital.swf photography.swf commissions.swf

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

Следует отметить, что комиссияs.s.ff имеет точно такую ​​же функцию, только с загруженными SWF-файлами, и она прекрасно работает. дома, традиционные, цифровые и фотографии имеют галерею изображений, и все имеют одну и ту же проблему (я ссылался только на одну страницу, потому что, если я могу исправить одну страницу, я смог бы исправить все из них).

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

Ответы [ 3 ]

1 голос
/ 22 марта 2011

В вашем коде есть орфографические ошибки.Вот и вся проблема.Пример из вашего собственного кода:

 else if(event.target == new_thumb2) {
    digitalGallery.load(new URLRequest("images/daem_evanescantautumn.png"));
 }

Когда на самом деле это написание:

http://www.tsr -online.org / flash / images / daem_evanescentautumn.png

Обратите внимание, что точная проблема - "vanesc a ntautumn.png", когда она должна быть "vanesc e ntautumn.png."

Исправить орфографиюв вашем коде выше и все должно быть хорошо.

0 голосов
/ 22 марта 2011

В любом случае, вы все делаете по-настоящему окольным путем - попробуйте это:

var digitalGallery:Loader;

var thumbs:Array = ['new_thumb1',
                'new_thumb2',
                'new_thumb3',
                'new_thumb4',
                'gal_thumb1',
                'gal_thumb2',
                'gal_thumb3',
                'gal_thumb4']

var images:Array = ['iilu_evanescantautumn',
                'daem_evanescantautumn',
                'moon_evanescantautumn',
                'dael_evanescantautumn',
                'kryo_evanescantautumn',
                'nair_evanescantautumn',
                'lite_evanescantautumn',
                'oasi_evanescantautumn']

setupThumbs()

function setupThumbs(){
    for (var i=0; i<thumbs.length; i++){
        var thumb = this.getChildByName(thumbs[i])
        thumb.id = i
        thumb.addEventListener(MouseEvent.CLICK, loadImage);
    }
}

function loadImage(event:MouseEvent){
    var id = event.currentTarget.id
    digitalGallery = new Loader();
    digitalGallery.contentLoaderInfo.addEventListener(Event.COMPLETE, loadComplete);
    digitalGallery.load(new URLRequest("images/"+images[id]+".png"));
}

function loadComplete(event:Event):void {
    trace("Complete");
    addChild(digitalGallery)
    digitalGallery.x = 730;
    digitalGallery.y = 210;
}
0 голосов
/ 22 марта 2011

Поскольку я не могу комментировать ваше сообщение из-за странных ограничений, я должен написать ответ (который является вопросом для вас): почему вы пытаетесь загрузить одно и то же изображение дважды?

...