Форум 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=146025)

Dezar 26.10.2010 19:31

дублирование загруженной графики
 
здравствуйте.
столкнулся с проблемой дублирования уже загруженной графики.
полистав форум я сделал такои код

Код AS3:

    var url:URLRequest = new URLRequest(linkp);
    var ldr:Loader = new Loader();
    ldr.load(url);
        pps3.addChild(ldr);
    ldr.contentLoaderInfo.addEventListener(Event.INIT,function(e){
      var bd:BitmapData = new BitmapData(pps3.width,pps3.height);
bd.draw(pps3);
var bmp:Bitmap = new Bitmap(bd);
pps2.addChild(bmp);
 
var bd2:BitmapData = new BitmapData(pps3.width,pps3.height);
bd2.draw(pps3);
var bmp2:Bitmap = new Bitmap(bd2);
pps.addChild(bmp2);
    });

то есть графика из pps3 копируется в pps и pps2.
при работе локально все работает.как только выгружаю в сеть, дублирование не происходит.в чем проблема кто знает?

КорДум 26.10.2010 19:51

Это все запихано в одну вложенную функцию? Кошмар. Ну, для начала я бы посоветовал избавиться от такого, а уже потом выложить нормальный код, в случае чего.

AlexDesinger 26.10.2010 19:55

думаю, лучше clone() использовать - кажись побыстрее работает.
ну а вы уверены, что дожидаетесь загрузки и делаете все вовремя? Уверены что путь правильный и пр.? Основная картинка видна или обоих нет? Больше инфы ф студию!

Dezar 26.10.2010 20:03

я новичок.но все же осмелюсь спросить.что кошмарного в том? что все это в 1 функции???
по сути ldr.contentLoaderInfo.addEventListener является слушателем.куда же мне его пихать?
просто то что саму суть функции я пихнул туда же..сделано потому что мне удобнее так.

по поводу инфы.
я менял event.init на complite (то есть дожилася загрузки) итог тот же самый.
все пути точные.
основная картинка видна всегда.
дополнительные не видны только в сети.

КорДум 26.10.2010 20:08

Не путайте одну функцию и одну вложенную функцию.
http://www.flasher.ru/forum/showthre...ED%EA%F6%E8%E8
http://www.flasher.ru/forum/showthre...EE%E2%E0%F2%FC

Dezar 26.10.2010 20:22

приятно, когда грамотные люди готовы просветить.спасибо :)
код теперь такой

Код AS3:

var url:URLRequest = new URLRequest(linkp);
    var ldr:Loader = new Loader();
    ldr.load(url);
        pps3.addChild(ldr);
        ldr.addEventListener(Event.COMPLETE, completeHandler);
 
.......
public function completeHandler(event:Event):void {
var bd:BitmapData = new BitmapData(pps3.width,pps3.height);
bd.draw(pps3);
var bmp:Bitmap = new Bitmap(bd);
pps2.addChild(bmp);
 
var bd2:BitmapData = new BitmapData(pps3.width,pps3.height);
bd2.draw(pps3);
var bmp2:Bitmap = new Bitmap(bd2);
pps.addChild(bmp2);
}

опять же..локально все работает.в сети нет

КорДум 26.10.2010 20:29

А картинка, случаем, не на другом домене? Ибо вероятно у вас не дебаг-плеер, никакой ошибки не вываливает, потому и не понять.

Dezar 26.10.2010 20:30

Цитата:

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

КорДум 26.10.2010 20:31

Загрузить-то загрузили, а вывести нельзя - политика безопасности. Вот и решили проблему.

Dezar 26.10.2010 20:40

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

КорДум 26.10.2010 20:43

Ну, прочитайте про нее, на форуме много тем таких, ищите по этим ключевым словам.

Dezar 26.10.2010 20:51

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

КорДум 26.10.2010 20:57

Если бы вы поискали в поиске, то нашли бы, как все это работает на самом деле.

Dezar 26.10.2010 20:58

вы можете хоть объяснить что мне искать???
из того, что я искал я создал тот код, что показывал.

КорДум 26.10.2010 20:59

http://www.flasher.ru/forum/showthre...=securityerror
Взять хотя бы эту тему.

Добавлено через 2 минуты
http://www.flasher.ru/forum/showthre...=securityerror
Или вот. У вас должна вылазить РТЕ SecurityError, вот про нее и ищите.

Dezar 26.10.2010 21:06

спасибо

Добавлено через 6 часов 37 минут
дело оказалось вовсе не в кроссдомаин.проблема в чем-то другом.флэшка и картинка в одной папке на серваке..
картинка грузится.но не дублируется

Добавлено через 6 часов 49 минут
ншел ответ на форуме..с кросдомаином запутали получается и мы отошли в дебри..
ответ таков

Код AS3:

loader.contentLoaderInfo.addEventListener(Event.COMPLETE,onLs);
public function onLs(evt:Event):void {
var bd:BitmapData = Bitmap(loader.content).bitmapData;
        pps2.addChild(new Bitmap(bd,"auto",true));
    pps.addChild(new Bitmap(bd,"auto",true));
 
}


AlexDesinger 27.10.2010 18:19

не используйте "COMPLETE", используйте "INIT".

cleptoman 27.10.2010 18:37

это почему так категорично?

Dezar 27.10.2010 19:08

+ к вопросу.
с чем связано?


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

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