Здравствуйте!
Подскажите как переделать эту функцию- resizePicture(), так чтобы параметром передовал, что ресайзить сперва объект pLoader потом объект bmp?

Код AS3:
private function entrFrameHandler(e:Event) {
if (! moreThanZero) {
if (pLoader.width>0) {
moreThanZero=true;
resizePicture();
} else {
trace("waiting...");
}
}
}
private function resizePicture() {
var delitel=0;
pLoader.x=0;
pLoader.y=0;
if (pLoader.width>fotoHolder_Width || pLoader.width<fotoHolder_Width) {
delitel=pLoader.width/fotoHolder_Width;
pLoader.width=pLoader.width/delitel;
pLoader.height=pLoader.height/delitel;
}
if (pLoader.height>fotoHolder_Height || pLoader.height>fotoHolder_Height) {
delitel=pLoader.height/fotoHolder_Height;
pLoader.height=pLoader.height/delitel;
pLoader.width=pLoader.width/delitel;
}
pLoader.x=(fotoHolder_Width-pLoader.width)/2;
pLoader.y=(fotoHolder_Height-pLoader.height)/2;
trace("resized");
}
Вот весь код

Код AS3:
package {
import flash.display.Sprite;
import flash.events.*;
import flash.net.FileFilter;
import flash.net.FileReference;
import flash.net.URLRequest;
import flash.utils.ByteArray;
import flash.display.Loader;
import flash.display.Bitmap;
import flash.display.BitmapData;
public class fileSelector extends Sprite {
private var fileRef:FileReference;
private var pLoader:Loader;
private var fotoHolder_Width:Number;
private var fotoHolder_Height:Number;
private var textTypeFilter:FileFilter;
private var moreThanZero:Boolean;
public function fileSelector() {
fotoHolder_Width=700;
fotoHolder_Height=578;
pLoader=new Loader();
fotoHolder.addChild(pLoader);
fileRef=new FileReference();
textTypeFilter=new FileFilter("Images (*.jpg, *.jpeg, *.gif, *.png)","*.jpg;*.jpeg;*.gif;*.png");
fileRef.addEventListener(Event.SELECT, onFileSelected);
fileRef.addEventListener(Event.CANCEL, onCancel);
fileRef.addEventListener(IOErrorEvent.IO_ERROR, onIOError);
fileRef.addEventListener(SecurityErrorEvent.SECURITY_ERROR, onSecurityError);
selectBTN.addEventListener("mouseDown",selectFotoPressedHandler);
fotoHolder.addEventListener("mouseDown",fotoHolderPressedHandler);
}
private function onFileSelected(evt:Event):void {
fileRef.addEventListener(ProgressEvent.PROGRESS, onProgress);
fileRef.addEventListener(Event.COMPLETE, onComplete);
fileRef.load();
}
private function onProgress(evt:ProgressEvent):void {
trace("Loaded " + evt.bytesLoaded + " of " + evt.bytesTotal + " bytes.");
}
private function onCancel(evt:Event):void {
trace("The browse request was canceled by the user.");
}
private function onComplete(evt:Event):void {
moreThanZero=false;
fotoHolder_Width=700;
fotoHolder_Height=578;
pLoader.contentLoaderInfo.addEventListener(Event.INIT,imageInited);
pLoader.loadBytes(fileRef.data);
}
public function imageInited(evt:Event):void {
var myBitmapData:BitmapData = new BitmapData(pLoader.width, pLoader.height);
myBitmapData.draw(pLoader);
var bmp:Bitmap = new Bitmap(myBitmapData);
fotoHolder2.addChild(bmp);//вот етот bmp добавь куда хочешь
addEventListener("enterFrame",entrFrameHandler);
}
public function onIOError(evt:IOErrorEvent):void {
trace("There was an IO Error.");
}
public function onSecurityError(evt:Event):void {
trace("There was a security error.");
}
private function GoSelectFoto() {
fileRef.browse([textTypeFilter]);
}
private function selectFotoPressedHandler(e:Event) {
trace("selectFotoPressed");
GoSelectFoto();
}
private function fotoHolderPressedHandler(e:Event){
trace("fotoHolderPressedHandler");
}
private function entrFrameHandler(e:Event) {
if (! moreThanZero) {
if (pLoader.width>0) {
moreThanZero=true;
resizePicture();
} else {
trace("waiting...");
}
}
}
private function resizePicture() {
var delitel=0;
pLoader.x=0;
pLoader.y=0;
if (pLoader.width>fotoHolder_Width || pLoader.width<fotoHolder_Width) {
delitel=pLoader.width/fotoHolder_Width;
pLoader.width=pLoader.width/delitel;
pLoader.height=pLoader.height/delitel;
}
if (pLoader.height>fotoHolder_Height || pLoader.height>fotoHolder_Height) {
delitel=pLoader.height/fotoHolder_Height;
pLoader.height=pLoader.height/delitel;
pLoader.width=pLoader.width/delitel;
}
pLoader.x=(fotoHolder_Width-pLoader.width)/2;
pLoader.y=(fotoHolder_Height-pLoader.height)/2;
trace("resized");
}
}
}
Вот исходник:
СКАЧАТЬ
Помогите пожалуйста, я просто уже неделю сижу...и ломаю голову...не получается...