2012-08-29 26 views
1

我想使用文本文件动态地将图像添加到闪存舞台。使用URLLoader和URLRequest类访问名为textPic.txt的文本文件。目前我已加载使用这个脚本的文本文件:使用动作脚本中的文本文件动态加载图像到舞台3

public class imgLoader extends MovieClip 
    { 
     private var myTextloader:URLLoader=new URLLoader(); 
     var fl_TextURLRequest:URLRequest = new URLRequest("textPic.txt"); 


     public function imgLoader() 
     { 
      myTextloader.addEventListener(Event.COMPLETE,onloaded); 
      //myTextloader.load(new URLLoader("textPic.txt")); 
      myTextloader.load(fl_TextURLRequest); 
     } 
      private function onloaded(e:Event):void 
     { 
      trace(e.target.data); 

     } 
+0

虽然使用文本文件作为数据持有人可行的,XML是首选方式做到这一点,有许多关于加载xml并使用它来引用图像的教程。 - 例如http://www.republicofcode.com/tutorials/flash/as3gridgallery/ – Neil

回答

2
import com.adobe.serialization.json.JSON; 

var ldr :URLLoader = new URLLoader; 
ldr.addEventListener(Event.COMPLETE, loadHandler); 
ldr.load(new URLRequest('images.json')); 

function loadHandler(e:Event):void 
{ 
    var rawData:String = String(e.target.data); 
    var imageData:Array = JSON.decode(rawData) as Array; 

    for (var i:int = 0; i < imageData.length; i++) 
    { 
     trace(imageData[i].name + ' url: ' + imageData[i].url); 
    } 
} 

images.json:

[ 
    { 
    "name": "Image 1", 
    "url": "image1.jpg" 
    }, 
    { 
    "name": "Image 2", 
    "url": "image2.jpg" 
    }, 
    { 
    "name": "Image 3", 
    "url": "image3.jpg" 
    } 
]