PDA

Просмотр полной версии : Проблемма с созданием bitmap из подгружаемых картинок


SarGun
11.10.2008, 23:42
Помогите плизз.. не получается из подгружаемых картинок создать bitmap и вывести на сцену... одну фотку сделал удачно !! но вот с несколькими проблемма!!


var mcl:MovieClipLoader = new MovieClipLoader();
mcl.addListener(_root);

var c:Array = new Array("4.jpg","5.jpg","6.jpg");

for (i=0; i<c.length; i++){

_root.mc = _root.createEmptyMovieClip("mc"+i,_root.getNextHighestDepth());
mcl.loadClip(c[i],_root.mc);

mcBmp = new BitmapData(300,300);
mcBmp.draw(_root.mc,new Matrix(),null,null,null,true);

_root.mc1 = _root.createEmptyMovieClip("copy_mc"+i, _root.getNextHighestDepth());
_root.mc1.attachBitmap(mcBmp,0);
_root.mc1._width =100;
_root.mc1._height =100;
_root.mc1._x = _root.mc1._width*i;
_root.mc.removeMovieClip();

}

dimarik
12.10.2008, 00:11
Загрузка картинок является асинхронным процессом. Обработку (mcBmp.draw) необходимо начинать после загрузки очередной картинки. Не зря же Вы подписали _root на mcl.

var items: Array = new Array("4.jpg","5.jpg","6.jpg");
var bitmapsHash: Object = new Object();
var itemCounter: Number = 0;
var itemsTotal: Number = items.length;
var mcl: MovieClipLoader = new MovieClipLoader();

mcl.addListener(this);

for (var i:Number = 0; i < itemsTotal; i++) {
var mc:MovieClip = this.createEmptyMovieClip("mc" + String(i), this.getNextHighestDepth());
mcl.loadClip(items[i], mc);
}

function onLoadInit(target:MovieClip):Void {
var bmp:BitmapData = new BitmapData(target._width, target._height);
bmp.draw(target, new Matrix());
this.bitmapsHash[target._name] = bmp;
if (++itemCounter < itemsTotal) return;

// Все загрузилось.
this.mcl.removeListener(this);
// Ваш код
}

SarGun
12.10.2008, 00:42
я почемуто не могу изменить размеры битмапы