我正在開發一個用於商業目的和研究的AS3項目。使用AS3調整XML庫的大小
這次我正在開發一個帶有XML和AS3的圖片庫,我對調整舞臺大小和改變圖片的x位置有疑問。
下面的代碼我可以調整圖片的大小,但我不能更改它們的x值。
任何人都可以幫助我解決這個頭痛的問題嗎?
非常感謝!
我正在使用的代碼:
import flash.display.StageScaleMode;
import flash.display.StageAlign;
stage.align = StageAlign.TOP_LEFT;
stage.scaleMode = StageScaleMode.NO_SCALE;
var container_mc:MovieClip;
var my_images:XMLList;
var my_total:Number;
var my_thumb_width:Number;
var my_thumb_height:Number;
var x_counter:Number = 0;
var myXMLLoader:URLLoader = new URLLoader();
myXMLLoader.load(new URLRequest("xml/snfashion_xml.xml"));
myXMLLoader.addEventListener(Event.COMPLETE, processXML);
function processXML(e:Event):void {
var myXML:XML = new XML(e.target.data);
my_images = myXML.IMAGE;
my_total = my_images.length();
createContainer();
callThumbs();
myXMLLoader.removeEventListener(Event.COMPLETE, processXML);
myXMLLoader = null;
}
function createContainer():void {
container_mc = new MovieClip();
container_mc.x = 0;
container_mc.y = 0;
addChild(container_mc);
}
function callThumbs():void {
for (var i:Number = 0; i < my_total; i++) {
var thumb_url = my_images[i][email protected];
var thumb_loader = new Loader();
thumb_loader.load(new URLRequest(thumb_url));
thumb_loader.contentLoaderInfo.addEventListener(Event.COMPLETE, thumbLoaded);
thumb_loader.name = i;
thumb_loader.x = ((stage.stageHeight-80)*0.451428)*(x_counter);
thumb_loader.y = 0;
if (x_counter < my_total) {
x_counter++;
}
}
}
function thumbLoaded(e:Event):void {
var my_thumb:Loader = Loader(e.target.loader);
container_mc.addChild(my_thumb);
my_thumb.contentLoaderInfo.removeEventListener(Event.COMPLETE, thumbLoaded);
my_thumb.width = (stage.stageHeight-80)*0.4571428;
my_thumb.height = stage.stageHeight-80;
function thumbLoadedResize (e:Event):void
{
trace("STAGE HAS BEEN RESIZED");
my_thumb.width = (stage.stageHeight-80)*0.4571428;
my_thumb.height = stage.stageHeight-80;
}
stage.addEventListener(Event.RESIZE, thumbLoadedResize);
}
席力圖召階段調整功能在thumb_loader
和my_thumb
,但它並沒有奏效,在不產生錯誤消息吐。
guss,thanx爲答案。 我triyng做你告訴我的變化,但這還不能正常工作。 卜我有一個更客觀的問題。 我的大拇指X位置是在「for」命令中定義的,位於一個函數內。 如何在不再次執行函數的情況下更新thumb_loader的x位置? – 2009-09-02 00:17:30
如果你有一個對thumb_loader的引用,那麼這就是你所需要的。你可能意思是訪問x_counter,它的本地範圍在循環中 - 你可以將它的當前值分配給thumb_loader的一個屬性 - 就像你在thumb_loader中存儲'i'一樣。 – Guss 2009-09-02 08:27:39