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

olga007 17.07.2012 09:48

Одинаковые картинки на сцене
 
Всем привет,
не могу загрузить одну и ту же картинку в 3 разных контейнера. Почему-то вставляется только в последний контейнер. (Проблема в том, что на сцену нельзя загрузить объекты с одинаковыми именами?)
Сейчас вышла из положения путем создания 3 одинаковых картинок с разными именами (подгружаются через xml-файл).
Можно сделать, чтобы картинка одна была?

Srednas 17.07.2012 10:07

Цитата:

Сообщение от olga007 (Сообщение 1088903)
Всем привет,
не могу загрузить одну и ту же картинку в 3 разных контейнера. Почему-то вставляется только в последний контейнер. (Проблема в том, что на сцену нельзя загрузить объекты с одинаковыми именами?)
Сейчас вышла из положения путем создания 3 одинаковых картинок с разными именами (подгружаются через xml-файл).
Можно сделать, чтобы картинка одна была?

Картинка вставляется у вас сначала в первый, затем — во второй, и, наконец, — в третий, там и остается.
Изображение можно скопировать в каждый контейнер, или хотя бы в первый и второй. Например, у BitmapData есть clone.

olga007 17.07.2012 10:10

Srednas,

спасибо, попробую :)

alatar 17.07.2012 11:38

В копировании BitmapData нет необходимости, достаточно создать несколько Bitmap с одной BitmapData.

olga007 17.07.2012 20:36

пытаюсь сделать, как советовал alatar, но не получается. Контейнеры остаются черными (незаполненными)

var image:BitmapData = new BitmapData(images[0].width,images[0].height,false,images[0].content.bitmapData);

var bm1:Bitmap = new Bitmap(image);
var bm2:Bitmap = new Bitmap(image);
var bm3:Bitmap = new Bitmap(image);

c1.addChild(bm1);
c2.addChild(bm2);
c3.addChild(bm3);

-De- 17.07.2012 20:40

А не смутило, что вы вместо uint влепили BitmapData последним параметром в конструкторе?
Код AS3:

var image:BitmapData = images[0].content.bitmapData;

Либо
Код AS3:

var image:BitmapData = images[0].content.bitmapData.clone();//так images[0].content.bitmapData будет скопирована


olga007 17.07.2012 21:00

-De-, спасибо за поправку.
Я почему-то решила что вместо заливки может быть само изображение, вот и влепила :-)

kutuzov 18.07.2012 16:36

Код AS3:

var bmp2:Bitmap = new Bitmap(sourceBmp.bitmapData)
var bmp3...

то что имел ввиду alatar, а clone'ом вы только забили память тремя одинаковыми изображениями


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

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