2010-09-30 146 views
0

//Create the URLLOader instance var myLoader:URLLoader = new URLLoader();錯誤#1006:值不是一個函數

//the data will come as URL-encoded variables 
myLoader.dataFormat = URLLoaderDataFormat.VARIABLES 

//Load using an URLRequest, even beeing local 
myLoader.load(new URLRequest("flash/index.php")) 

//onLoad handler listener 
myLoader.addEventListener(Event.COMPLETE, onDataLoad) 

//add a listener for the complete event 
function onDataLoad(evt:Event){ 
    for(var i:uint=0; i<evt.target.data.cant; i++){ 
      var mc_holder:MovieClip = new MovieClip(); 
       mc_holder.name = "mc_holder"+i; 
       mc_holder.x = 30; 
       mc_holder.y = mc_holder.height+10; 
       //trace(mc_holder.y = mc_holder.height*i) 
       addChild(mc_holder); 
     var loader:Loader = new Loader() 

     loader.load(new URLRequest(evt.target.data["Image"+i])) 
      mc_holder.addChild(loader) 
     mc_holder.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler); 

     function mouseDownHandler(e:MouseEvent):void { 
      var my_thumb = e.target.name; 
      trace(my_thumb); 
      my_thumb.startDrag(); 

      } 

This gives me error Error #1006: value is not a function. when i click on drag

回答

0

You posted code seems to have syntactical errors, but I think the solution for your problem should be the call of e.target.startDrag();。有了您的通話my_thumb.startDrag();您試圖調用一個函數startDrage.target.name不存在。

Alternativly你可以用

var my_thumb = e.target; 
0

更換

var my_thumb = e.target.name; 

有代碼中的錯誤很多。你也試圖用一種方法做太多。你分析你的數據,創建一個影片剪輯,添加加載,加載圖像,然後調用對裝載機的功能......我試圖擺脫明顯的失誤,但毫無疑問,你的代碼可以通過分離得到改善關注。

如果拆分代碼成單獨的方法,你的代碼將更加靈活&更容易調試過...你可以加載&解析你的變量,在另一個函數準備XML數據爲您的設計,然後離開向另一種方法顯示邏輯。

在此期間,這裏是用更少的錯誤代碼

function onDataLoad(evt:Event) 
    { 

     for(var i:uint=0; i< evt.target.data.cant; i++) 
     { 
      var mc_holder:MovieClip = new MovieClip(); 
      mc_holder.name = "mc_holder"+i; 
      mc_holder.x = 30; 
      mc_holder.y = mc_holder.height+10; 

      //trace(mc_holder.y = mc_holder.height*i); 
      addChild(mc_holder); 

      var loader:Loader = new Loader(); 

      loader.load(new URLRequest(evt.target.data["Image"+i])); 

      mc_holder.addChild(loader) 
      mc_holder.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler); 

     } 
    } 

    function mouseDownHandler(e:MouseEvent):void 
    { 
     var my_thumb:MovieClip = e.target as MovieClip; 
     trace(my_thumb); 
     my_thumb.startDrag(); 

    } 
相關問題