AS3 Динамическое изменение/замена растровых данных из растрового изображения

Вопрос :

У меня есть динамически загруженное изображение. Это фон сайта. Через 10 секунд я хочу заменить это изображение новым изображением!

Мысли:

Я думал, что это будет достаточно простой процесс.

var BGbmd:BitmapData = new backgroundBitmapData(); // from library
var BG:Bitmap = new Bitmap( BBbmd );
    BG.width = stage.stageWidth; //save portrait vs landscape for later...
    BG.scaleY = BG.scaleX;
    BG.smoothing = true;
addChild( BG );

Я подумал, что смогу просто изменить BGbmd на что-то другое, и оно будет обновляться:

function changeBackground() {
    BGbmd = new secondBackgroundBitmapData(); // from Library
}

или что-то в этом роде - но нет! ничего не меняется! похоже, мне нужно удалить дочерний элемент и повторно добавить его, что является головной болью, потому что мне придется отслеживать дочерний индекс…

The Outreach : Я очень надеюсь, что есть какая-то волшебная функция или метод, который я просто не могу найти, который позволит мне легко найти битовые карты подкачки… может быть, вы знаете!

Большое спасибо всем вам! -Джоэл


person Joel Hackney    schedule 26.04.2012    source источник


Ответы (1)


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

BG.bitmapData = new secondBackgroundBitmapData();

Bitmap — это объект на сцене, и он содержит ссылку на сам BitmapData, а не на переменную, которой он назначен. Поэтому вам нужно изменить внутреннее состояние Bitmaps, чтобы отключить изображения.

person J. Holmes    schedule 26.04.2012
comment
GAHHH… я новый, это был такой метод! Большое спасибо 32bitkid! - person Joel Hackney; 27.04.2012