2013-01-31 20 views
0

我做了一個照片庫,並且使用Flash cs5 As3 UILoader組件,我如何在中心加載所有不同大小的照片?在左上角的Uiloader組件註冊,我需要中間? 階段1000px寬,420px高。如何在UILoader中對齊照片中心?

我的照片大小不一,有的是803x400,有的是580x400,uiLoader註冊點在左上角,問題在於,如果我在中間製作580x400,而803x400px手機將會很遠在右邊。

有什麼辦法解決這個問題嗎?

[www.bradmarkel.net] 點擊野生動物,你會明白我的意思。

這是我的畫廊代碼,謝謝你的時間!

import flash.utils.Timer; 
import flash.events.TimerEvent; 
import flash.events.MouseEvent; 
import flash.events.Event; 
import fl.containers.UILoader; 
import flash.text.TextField; 
import flash.display.SimpleButton; 
import fl.transitions.Tween; 
import fl.transitions.TweenEvent; 
import fl.transitions.easing.*; 
stage.colorCorrection = ColorCorrection.ON; 
var myImage:String = "smallNews/resized web news photos/00.jpg"; 
var request:URLRequest = new URLRequest(myImage); 
uiLoader.addEventListener(Event.COMPLETE, completeHandler); 
uiLoader.addEventListener(ProgressEvent.PROGRESS, progressHandler); 
uiLoader.load(request); 

function progressHandler(event:ProgressEvent):void 
{ 

status_txt.text = "Percentage Loaded: " + Math.round(event.target.percentLoaded); 
} 

function completeHandler(event:Event):void 
{ 
var spr = new Sprite(); 

// Place spr anywhere on the stage 
spr.x = stage.stageWidth/6 - uiLoader.content.width/6; 
spr.y = stage.stageHeight/235 - uiLoader.content.height/235; 
spr.addChild(uiLoader); 

addChild(spr); 

// Center uiLoader in spr 
uiLoader.x = - uiLoader.width/500; 
uiLoader.y = - uiLoader.height/235; 
new Tween(spr,"rotationX",Elastic.easeOut,45,0,4,true); 
} 
next_btn.addEventListener(MouseEvent.CLICK, nextImage); 

//variable is a container that holds some value...; 
var imageNumber:Number = 0; 

function checkNumber():void 
{ 
next_btn.visible = true; 
back_btn.visible = true; 
//If the imageNumber is = 47, then do something... 
if (imageNumber == 24) 
{ 
    trace(imageNumber); 
    next_btn.visible = false; 
} 
//if the imageNumber is = 1, then don't show the back button 
if (imageNumber == 0) 
{ 
    trace(imageNumber); 
     back_btn.visible = false; 
} 
     } 
     checkNumber(); 

     function nextImage(evtObj:MouseEvent):void 
     { 
//Adding to the current value +1 
imageNumber++; 
uiLoader.source = "smallNews/resized web news photos/0" + imageNumber + ".jpg"; 
checkNumber(); 
     } 

     back_btn.addEventListener(MouseEvent.CLICK, backImage); 

     function backImage(evtObj:MouseEvent):void 
     { 
//Subtract 1 from the current value 
imageNumber--; 
uiLoader.source = "smallNews/resized web news photos/0" + imageNumber + ".jpg"; 
checkNumber(); 
     } 

     stop(); 

回答

0

你必須在其容器的中央安排的UILoader,如果我明白做這樣的事情:

function completeHandler(event:Event):void 
{ 
var spr = new Sprite(); 

// Place spr anywhere on the stage 
spr.x = stage.stageWidth/6; 
spr.y = stage.stageHeight/235; 
spr.addChild(uiLoader); 

addChild(spr); 

// Center uiLoader in spr 
uiLoader.x = - uiLoader.content.width/2; 
uiLoader.y = - uiLoader.content.height/2; 
new Tween(spr,"rotationX",Elastic.easeOut,45,0,4,true); 
} 
+0

@ 516,我仍然有中心的照片的問題,你的代碼是幫我搬周圍的照片,但我的畫廊有三種尺寸的照片,我需要在中心加載照片的uiLoader,所以我可以在正確的地方使用你的代碼,你有什麼想法如何做到這一點?現在註冊在左上角,如何將它移到中間?謝謝! –

+0

我仍然有中心這些照片的問題,你的代碼是幫助我移動照片,但我的畫廊有三種尺寸的照片,我需要uiLoader加載照片在中心,所以我可以在正確的地方使用你的代碼更多,做你有任何想法如何做到這一點?現在註冊在左上角,如何將它移到中間?謝謝! –

+0

你可以安排你的uiloader相對於任何容器,舞臺就是一個例子。 –