ここで私のスクリプト全体がわかりますが、どこに問題があるのか分からないようです。AS3でXMLを解析する
症状は、私がaddChild(本)を置いた場所が、親指で適切かつ逐次追加される適切な場所ではないということです。結果として、私の驚いたことに、これまでにこれらを表示できる唯一の方法は、何らかの形で左上隅に表示されている間違ったトレース文を書くことです。どんな提案も大歓迎です!ありがとうございました!!
var rowsW:Number;
var my_xW:Number;
var my_yW:Number;
var my_thumb_widthW:Number;
var my_thumb_heightW:Number;
var my_imagesW:XMLList;
var my_totalW:Number;
var container_mcW:MovieClip;
var preloaders_mcW:MovieClip;
var book:TextField = new TextField();
var author:TextField = new TextField();
var publisher:TextField = new TextField();
book.selectable = true;
var x_counterW:Number = 0;
var y_counterW:Number = 0;
var my_tweensW:Array = [];
var container_mc_tweenW:Tween;
var myXMLLoaderW:URLLoader = new URLLoader();
myXMLLoaderW.load(new URLRequest("WORKS.xml"));
myXMLLoaderW.addEventListener(Event.COMPLETE, processXMLW);
createContainerW();
callThumbsW();
function processXMLW(e:Event):void {
var myXMLW:XML = new XML(e.target.data);
rowsW = [email protected];
my_xW = [email protected];
my_yW = [email protected];
my_thumb_widthW = [email protected];
my_thumb_heightW = [email protected];
my_imagesW = myXMLW.IMAGE;
my_totalW = my_imagesW.length();
myXMLLoaderW.removeEventListener(Event.COMPLETE, processXMLW);
myXMLLoaderW = null;
}
function createContainerW():void {
container_mcW = new MovieClip();
container_mcW.x = my_xW;
container_mcW.y = my_yW;
addChild(container_mcW);
preloaders_mcW = new MovieClip();
preloaders_mcW.x = container_mcW.x;
preloaders_mcW.y = container_mcW.y;
addChild(preloaders_mcW);
}
function callThumbsW():void {
for (var i:Number = 0; i < my_totalW; i++) {
var thumb_urlW = my_imagesW[i][email protected];
book.text = my_imagesW[i][email protected];
author.text = my_imagesW[i][email protected];
publisher.text = my_imagesW[i][email protected];
var thumb_loaderW = new Loader();
thumb_loaderW.load(new URLRequest(thumb_urlW));
thumb_loaderW.contentLoaderInfo.addEventListener(Event.COMPLETE,thumbLoadedW);
thumb_loaderW.name = i;
book.x = (40)*x_counterW;
book.y = (my_thumb_heightW+40)*y_counterW;
thumb_loaderW.x = (my_thumb_widthW+10)*x_counterW;
thumb_loaderW.y = (my_thumb_heightW+10)*y_counterW;
container_mcW.addChild(book);
container_mcW.addChild(author);
container_mcW.addChild(publisher);
trace("my x equals" (book.x));
if (y_counterW+1 < rowsW) {
y_counterW++;
} else {
y_counterW = 0;
x_counterW++;
}
var preloader_pbW:ProgressBar = new ProgressBar();
preloader_pbW.source = thumb_loaderW.contentLoaderInfo;
preloader_pbW.x = thumb_loaderW.x;
preloader_pbW.y = thumb_loaderW.y;
preloader_pbW.width = my_thumb_widthW;
preloader_pbW.height = my_thumb_heightW;
preloaders_mcW.addChild(preloader_pbW);
preloader_pbW.addEventListener(Event.COMPLETE, donePbW);
}
}
function thumbLoadedW(e:Event):void {
var my_thumbW:Loader = Loader(e.target.loader);
container_mcW.addChild(my_thumbW);
my_tweensW[Number(my_thumbW.name)]=new Tween(my_thumbW, "alpha", Strong.easeIn, 0,1,0.5, true);
my_thumbW.contentLoaderInfo.removeEventListener(Event.COMPLETE, thumbLoadedW);
}
function donePbW(e:Event):void {
var my_pbW:ProgressBar = ProgressBar(e.target);
preloaders_mcW.removeChild(my_pbW);
my_pbW.removeEventListener(Event.COMPLETE, donePbW);
}
うーん。すでにその部分があった。私はそれをその連続した順序で信じる理由がある。私が答えを見つけたら教えてくれます。ありがとう! – Trip
大量の編集を残念に思って、コメントにコードを配置する方法を理解しました;)私はたくさんのトレースをしてきました。時々、私はそれを垣間見ることができますが、失敗したトレースステートメントでしか見られません。ウィアード?私はこれがどのように機能するか想像できません。 – Trip
まだこれに取り組んでいます。これまで1週間だったので、何かを打ち破ることはできませんでした。 XML属性の解析に関するすべての単一のURLを読みましたが、これを把握することはできません。 – Trip