Форум Flasher.ru

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

lissa81 04.12.2012 17:25

вывод подгружаемой картинки в разные Movie Clip
 
Помогите плиз

проблема в том что получив картинку (imageA) из вне я пытаюсь ее отобразить в разные MovieClip, но она отображается только в одном клипе. разделять на два разных запроса не хочется. как можно это исправить?

Код AS3:

var imagefonprizeA:Loader = new Loader();
var imageA:URLRequest = new URLRequest(_data.child('fonprize').child('a'));
imagefonprizeA.load(imageA);
fonPrizA.addChild (imagefonprizeA);//картинка не показывается
prizA.priz.addChild (imagefonprizeA);//картинка показывается


iNils 04.12.2012 17:49

Визуальный объект может иметь только одного "родителя" в дисплейном списке.
Поэтому для картинок делаем так:
1. Загрузили картинку.
2. Сняли с нее скриншот в BitmapData
3. Делаем нужное количество Bitmap с созданным скриншотом.

Если контент с чужого сайта, то читаем тут http://www.flasher.ru/forum/blog.php?b=208

lissa81 04.12.2012 17:51

извините а подробнее про BitmapData и как это написать?

Rembrant 04.12.2012 17:54

что-то типа такого
Код AS3:

var imagefonprizeA:Loader = new Loader();
var imageA:URLRequest = new URLRequest("...");
imagefonprizeA.contentLoaderInfo.addEventListener(Event.COMPLETE, completeHandler);
imagefonprizeA.load(imageA);
 
function completeHandler(e:Event):void
{
        fonPrizA.addChild (imagefonprizeA);
        var clonedData:BitmapData = Bitmap(imagefonprizeA.content).bitmapData.clone();
        var clone:Bitmap = new Bitmap(clonedData);
    prizA.priz.addChild(clone);
}


Sintesis 04.12.2012 18:03

Код AS3:

var imagefonprizeA:Loader = new Loader();
var imageA:URLRequest = new URLRequest(_data.child('fonprize').child('a'));
imagefonprizeA.load(imageA);
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onImageComplete);
 
private function onImageComplete(e:Event):void{
      trace(e.target.content as Bitmap) //это ваш битмап можете делать с ним что хотите.
}

немного не успел.

lissa81 04.12.2012 18:22

спасибо большое за помощь

gloomyBrain 04.12.2012 18:23

Цитата:

Сообщение от iNils (Сообщение 1107832)
Визуальный объект может иметь только одного "родителя" в дисплейном списке.
Поэтому для картинок делаем так:
1. Загрузили картинку.
2. Сняли с нее скриншот в BitmapData
3. Делаем нужное количество Bitmap с созданным скриншотом.

Если контент с чужого сайта, то читаем тут http://www.flasher.ru/forum/blog.php?b=208

Если контент НЕ с чужого сайта (а вообще-то можно и с чужого, был бы crossdomain.xml) - нужно просто получить ссылку на bitmapData. И далше уже использовать эти самые данные по своему усмотрению в любом месте в любом количестве.

Код AS3:

var loader:Loader = new Loader();
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onComplete);
 
loader.load( ... );
 
...
 
private function onComplete(event:Event) {
    var bitmapData:BitmapData = ((event.target as LoaderInfo).loader.content as Bitmap).bitmapData;
 
    var bitmap:Bitmap = new Bitmap(bitmapData);
    this.addChild(bitmap);
 
    var bitmap2:Bitmap = new Bitmap(bitmapData);
    bitmap2.x = 100;
    this.addChild(bitmap2);
}



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

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