2014-05-19 2 views
1

imageshare.swf 앱이 있습니다. "Images /"+ imageNumber + ".jpg"에서 사진을 찍지만 제 사진은 크기가 다릅니다. 예 : 970x700, 580 * 441, 500,500 동일한 크기의 스테이지에 배치하고 싶습니다 (500x500 픽셀 고정).크기가 다른 모든 이미지의 자동 크기 조정

import flash.display.Loader; 
import flash.net.URLRequest; 
import flash.events.Event; 
import flash.events.MouseEvent; 
import fl.transitions.Tween; 
import fl.transitions.easing.*; 



//*****************CREATING VARIABLES*****************************// 

//the array has all picture labels 
//var myGlow:GlowFilter = new GlowFilter(0xffffff,1,10,10,255);// saving the glow 
//var myShadow:DropShadowFilter = new DropShadowFilter(6);// saving the shadow to be applied later 
var totalImages=11; 
var imageNumber=1; 

var myLoader:Loader = new Loader(); 


//************LOADING IMAGES TO STAGE********************// 

var myRequest:URLRequest = new URLRequest("Images/"+imageNumber+".jpg"); 
myLoader.load(myRequest); 
addChildAt(myLoader,1);// will be added under the buttons layer but over the texture 

//************CENTERING THE PICS****************// 

myLoader.contentLoaderInfo.addEventListener(Event.INIT, getImageInfo); 
function getImageInfo(event:Event){ 
    var imgX=(stage.stageWidth- myLoader.width)/2; 
    var imgY=(stage.stageHeight- myLoader.height)/2; 
    myLoader.x=imgX; 
    myLoader.y = imgY;// lines 37,38,39 & 40 are centering the loader formulae 
    //myLoader.filters = [myGlow, myShadow];// adding a white color glow/grey shadow 
    //var myTween:Tween = new Tween(myLoader, "alpha", None.easeNone, 0,1,2,true);//apply fade in 

    } 
//**************GOING TO NEXT IMAGE********************************// 

rightButton.addEventListener(MouseEvent.CLICK, nextImage); 
function nextImage(event:MouseEvent){ 
    if(imageNumber<totalImages) 
    { 
     imageNumber++; 
    } 
    else (imageNumber=1); 
    reload(); 
    } 
//**************GOING TO PREVIOUS IMAGE********************************// 

leftButton.addEventListener(MouseEvent.CLICK, previousImage); 
function previousImage(event:MouseEvent){ 
    if(imageNumber>1) 
    { 
     imageNumber--; 
    } 
    else (imageNumber=totalImages); 
    reload(); 
    } 

//*****************RELOADING****************************// 
function reload(){ 
    removeChild(myLoader); 
    myRequest= new URLRequest("Images/"+imageNumber+".jpg"); 
    myLoader.load(myRequest); 
    addChildAt(myLoader,1); 
    } 
+0

그럼 뭐가 문제입니까? 논리적으로는 –

답변

2

그럼 당신은 xy 속성을 설정 widthheight를 설정 곳!

myLoader.width = myLoader.height = 500; 

그런데 이것은 완벽하게 제곱되지 않은 사람들을 뒤섞어서 왜곡되어 보입니다.

+0

입니다. 나는 다른 것을 묻고 싶다. 이 URL 요청은 1.jpg 2.jpg (var myRequest : URLRequest = new URLRequest ("Images /"+ imageNumber + ". jpg");)와 같은 사진 이름 만 취하는 것입니다. Slide1.jpg, Slide2 .jpg (숫자는 코드에서 알 수 있듯이 중요 함) – believeitornot

+0

그렇다면 URL을 만드는 공식과 일치하는 다른 요청을하십시오 :) –

+0

감사합니다. Andrey. 내가 한 가지 더 물어 보자 :). 내 이미지 파일에는 예를 들어 11 개의 이미지가 있습니다. 그 번호를 코드에 수동으로 입력합니다 (var totalImages = 11;). 어떻게 계산하고 var totalImages =에 자동으로 쓸 수 있습니까? – believeitornot