flash as3 - невозможно загрузить загруженное изображение, чтобы прикрепить его в нужное место на сцене - PullRequest
0 голосов
/ 22 февраля 2011

Я пытаюсь выяснить, что не так с этим кодом:

for (var k=0;k<2;k++){
    var thumb_cols:int = 9;
    var thumb_spacing:int = 10; //spaces the clips
    project_thumbs_list[k] = myXML.projects.project[k].@thumb;
    var projectThumb:thumbClip = new thumbClip();
    projectThumb.thumbTitle.text = myXML.projects.project[k].title.toUpperCase();
    projectThumb.x = (projectThumb.width + thumb_spacing) * (k % thumb_cols);
    projectThumb.y = (projectThumb.width + thumb_spacing) * int(k / thumb_cols);
    project_thumbs_array[k] = projectThumb;
    var thumbLoader:Loader = new Loader();
    thumbLoader.load(new URLRequest(myXML.projects.project[k].@thumb));
    thumbLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, thumbLoaded);
}

function thumbLoaded(e:Event):void {
    project_thumbs_array[currentLoaded].thumbHolder.addChild(thumbLoader);
    admin.slideHolder.addChild(project_thumbs_array[currentLoaded]);
    currentLoaded++;
}

У меня есть образец XML-файла с двумя изображениями. Если я удаляю какой-либо из элементов из XML, все отображается нормально, но с двумя элементами в XML первый элемент не показывает изображение, а второй - (возможно, первый прикрепляется в позиции позади второй?)

Ответы [ 2 ]

1 голос
/ 22 февраля 2011

попробуйте изменить:

project_thumbs_array[currentLoaded].thumbHolder.addChild(thumbLoader);

на:

project_thumbs_array[currentLoaded].thumbHolder.addChild(e.target.data);

может быть e.target.content Я не могу вспомнить с макушки головы.

0 голосов
/ 22 февраля 2011

Это должно дать вам 10 пикселей по горизонтали между объектами. Я не обращался к значению y, но я бы посоветовал взглянуть и на это.

var x_counter = 10;
for (var k=0;k<2;k++){
    var thumb_cols:int = 9;
    var thumb_spacing:int = 10; //spaces the clips
    project_thumbs_list[k] = myXML.projects.project[k].@thumb;
    var projectThumb:thumbClip = new thumbClip();
    projectThumb.thumbTitle.text = myXML.projects.project[k].title.toUpperCase();
    projectThumb.x = x_counter;
    projectThumb.y = (projectThumb.width + thumb_spacing);
    x_counter = x_counter + projectThumb.width + thumb_spacing;
    project_thumbs_array[k] = projectThumb;
    var thumbLoader:Loader = new Loader();
    thumbLoader.load(new URLRequest(myXML.projects.project[k].@thumb));
    thumbLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, thumbLoaded);
}
...