|
|
|||||
Регистрация: Apr 2013
Сообщений: 18
|
Некорректная работа цикла
Доброго времени суток! По чему в этом коде, при выборе нескольких изображений, сохраняется только одно(последнее):
public var loadIm:Loader = new Loader(); public var imageName:String; public function uploadImg(event:MouseEvent):void{ for (var i:int = 0; i < imgList.length; i++) { var image:ByteArray = imgList[i].img; imageName = imgList[i].name; loadIm.contentLoaderInfo.addEventListener(Event.COMPLETE, onLoaderComplete); loadIm.loadBytes(image); } } public function onLoaderComplete(e:Event):void{ trace (vas); // Выдает только один объект Bitmap var vas:Bitmap = loadIm.content as Bitmap; var origBit:BitmapData = vas.bitmapData; var soot:Number; var scaleH:Number; var scaleW:Number; var scaleY:Number; var scaleX:Number if (origBit.height > origBit.width) { soot = origBit.height/origBit.width; scaleH = 1080/origBit.height; scaleW = (1080/soot)/origBit.width; scaleY = Number(scaleH.toFixed(3)); scaleX = Number(scaleW.toFixed(3)); } else { soot = origBit.width/origBit.height; scaleW = 1920/origBit.width; scaleH = (1920/soot)/origBit.height; scaleY = Number(scaleH.toFixed(3)); scaleX = Number(scaleW.toFixed(3)); } var newH:int = origBit.height*scaleH; var newW:int = origBit.width*scaleW; var scaleBit:BitmapData = new BitmapData(newW, newH, origBit.transparent); var scaleMatrix:Matrix = new Matrix(); scaleMatrix.scale(scaleX, scaleY); scaleBit.draw(origBit, scaleMatrix); var img:ByteArray; img = new JPEGEncoder(90).encode(scaleBit); upl(img); } public function upl(imag:ByteArray):void{ var loader:MultipartURLLoader = new MultipartURLLoader; loader.addVariable('imgName', imageName); loader.addFile(imag, imageName, 'imgData', 'image/jpeg'); loader.load('http://upload.ro/up/bin-debug/upload.php'); loader.addEventListener(Event.COMPLETE, onCompletes); } public function onCompletes (event: Event):void { } Последний раз редактировалось Makkssimka; 02.06.2013 в 21:24. |
|
|||||
Загружается последняя потому что лоадер не успевает загрузить все изображения за один проход. Нужно загружать все изображения последовательно, когда выполнится событие Complete.
|
|
|||||
Регистрация: Apr 2013
Сообщений: 18
|
И как это реализовать, чет я никак не допру, 3 день на одном месте топчусь!
|
|
|||||
Регистрация: Sep 2010
Сообщений: 81
|
http://www.greensock.com/loadermax/ решит твою проблему точно. В таких задачах используй его, незаменимая штука
|
|
|||||
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
И будете топтаться до тех пор, пока не прочитаете хоть что-нибудь о Событиях и асинхронном выполнении кода. AS3 это не бейсик.
__________________
Reality.getBounds(this); |
|
|||||
Регистрация: Apr 2013
Сообщений: 18
|
Ну так трудно имея медицинское образование с этим разобраться Ладно пошел читать, всем удачи!
|
Часовой пояс GMT +4, время: 08:05. |
|
« Предыдущая тема | Следующая тема » |
Опции темы | |
Опции просмотра | |
|
|