テキストファイル内のリストセットに応じて、サブフォルダから画像を動的に読み込むスライドショーの簡単なコードを作成しました。FLASH AS3 - Txtファイルから動的にロードされたスライドショー
コード:うまく
import flash.display.MovieClip;
import flash.events.Event;
import flash.display.Loader;
import flash.net.URLLoader;
import flash.net.URLRequest;
import flash.display.Bitmap;
import flash.display.BitmapData;
public class slideshow extends MovieClip {
public var listLoader:URLLoader;
public var newImgList:Array;
public var imgX:int = 0;
public var container:MovieClip;
public function slideshow() {
container = new MovieClip();
stage.addChild(container);
listLoader = new URLLoader(new URLRequest("./slideshow.txt"));
listLoader.addEventListener(Event.COMPLETE, initImages);
}
public function initImages(event:Event):void {
var imgList:Array = listLoader.data.replace(/^\s+/,"").replace(/\s+$/,"").split(/\s+/);
newImgList = new Array();
for(var line:int = 0; line < imgList.length; line++) {
if(imgList[line].indexOf(".png") != -1 || imgList[line].indexOf(".jpg") != -1) {
newImgList.push(imgList[line]);
}
}
loadImage();
}
public function loadImage():void {
for(var loaderNum = 0; loaderNum < newImgList.length; loaderNum++) {
var imgLoader = new Loader();
imgLoader.load(new URLRequest("./slideshow/" + newImgList[loaderNum]));
imgLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, imgInit);
}
}
public function imgInit(event:Event):void {
var imgBmp:BitmapData = event.target.content.bitmapData;
var img:Bitmap = new Bitmap(imgBmp);
img.height = 150;
img.scaleX = img.scaleY;
img.y = 0;
img.x = imgX;
imgX = (imgX + img.width + 10);
container.addChild(img);
}
}
実際には画像は、ほぼランダムな順序で表示されていることを除いて私のために正常に動作します。
コードが読み込みに時間がかかりすぎると思いますので、その次に行くはずのものの後にロードされていますが、ムービークリップにその一部が追加されます。
ので、私は何を意味するか:
1.pngが1.pngがロードされている
3.pngをロードされている
2.pngを追加する
ロードされ
3.pngを追加
2.pngは
ので、私の質問追加されます。
は、テキストファイルからそのスライドショーロードイメージを作るために、他のpropper /より良い方法があるがどこにある画像(のほんのフルネームサブフォルダ)はリストですか?
ありがとうございます。
g.r.
使用[ 'XML'(http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/XML.html)。神の愛のために、['XML'](http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/XML.html)を使ってください。 – Marty
私はそうするだろうが、私はすべきではない! 私が作っているウェブサイトは、テキストファイルにいくつかのイメージ名を書くだけのスマートな人たちのためのものです! XMLですべてを作っていたければ、すでにそれを済ませていました;) – Ace
' 'のようにノードをコピーして貼り付ける方が簡単です新しい行や、より厳密なレイアウトが必要なテキストファイルをmangleするのではなく、すべてを壊すことなく、必要なものをインデント/区切ることができます。とにかく、あなたの問題を解決するためにすべてを一度にロードするのではなく、イメージをキューに入れてください。 –
Marty