2013-08-20 8 views
0

내가의 BitmapData를 얻고 객체의 URL을에서 다시 보내야합니다 그것을 만든, 내가 사용하는 기능이있다. 함수가 호출 된 횟수를 추적합니다 : d 변수가 몇 번이나 돌아 왔는지는 물론 평등해야하지만 그렇지 않습니다.얻기의 BitmapData - 액션 스크립트

여기 내가 사용하는 기능입니다. 여기

private function get_bitmap(url:String,urlObject:Object, on_complete:Function):void{ 
       d++; 

       //trace("get_bitmap"); 
       if(url == geenImage){ 
        trace("geenImage"); 
        loaderGeenImage.load(new URLRequest(geenImage)); 
       } 
       else{ 
        if(urlObject.length == 1){ 
         var url11:String = url +urlObject[0].id; 
         loader1.load(new URLRequest(url11)); 
         loader1int++; 

        } 
       if(urlObject.length == 2){ 
        loader2int++; 
         var url21:String = url +urlObject[0].id; 
         loader2.load(new URLRequest(url21)); 
         var url22:String = url +urlObject[1].id; 
         loader2.load(new URLRequest(url22)); 
        } 
       if(urlObject.length == 3){ 
         var url31:String = url +urlObject[0].id; 
         loader3.load(new URLRequest(url31)); 
         var url32:String = url +urlObject[1].id; 
         loader3.load(new URLRequest(url32)); 
         var url33:String = url +urlObject[2].id; 
         loader3.load(new URLRequest(url33)); 
        } 
       if(urlObject.length == 4){ 
         var url41:String = url +urlObject[0].id; 
         loader4.load(new URLRequest(url41)); 
         var url42:String = url +urlObject[1].id; 
         loader4.load(new URLRequest(url42)); 
         var url43:String = url +urlObject[2].id; 
         loader4.load(new URLRequest(url43)); 
         var url44:String = url +urlObject[3].id; 
         loader4.load(new URLRequest(url44)); 
        } 
       if(urlObject.length == 5){ 
         var url51:String = url +urlObject[0].id; 
         loader5.load(new URLRequest(url51)); 
         var url52:String = url +urlObject[1].id; 
         loader5.load(new URLRequest(url52)); 
         var url53:String = url +urlObject[2].id; 
         loader5.load(new URLRequest(url53)); 
         var url54:String = url +urlObject[3].id; 
         loader5.load(new URLRequest(url54)); 
         var url55:String = url +urlObject[4].id; 
         loader5.load(new URLRequest(url55)); 
        } 
       if(urlObject.length == 6){ 
         var url61:String = url +urlObject[0].id; 
         loader6.load(new URLRequest(url61)); 
         var url62:String = url +urlObject[1].id; 
         loader6.load(new URLRequest(url62)); 
         var url63:String = url +urlObject[2].id; 
         loader6.load(new URLRequest(url63)); 
         var url64:String = url +urlObject[3].id; 
         loader6.load(new URLRequest(url64)); 
         var url65:String = url +urlObject[4].id; 
         loader6.load(new URLRequest(url65)); 
         var url66:String = url +urlObject[5].id; 
         loader6.load(new URLRequest(url66)); 
        } 
       else{ 
         trace("anders" + urlObject.length); 
        } 

       } 



       loaderGeenImage.contentLoaderInfo.addEventListener(Event.COMPLETE, function(e:Event):void{ 
         var bitmap:Bitmap = (e.target).content; 
         var data:BitmapData = bitmap.bitmapData; 
         geenImageArray.push(data); 
         if(geenImageArray.length == 1){ 
         on_complete(geenImageArray); 
         geenImageArray= []; 
         } 
        }); 
       loader1.contentLoaderInfo.addEventListener(Event.COMPLETE, function(e:Event):void{ 
        //var loader:URLLoader = URLLoader(e.target); 
        var bitmap:Bitmap = (e.target).content; 
        var data:BitmapData = bitmap.bitmapData; 
        //trace("bitmapcomplete"); 
        imageArray1.push(data); 
         if(imageArray1.length == 1){ 
          trace("imageArray1 gelijk"); 
          on_complete(imageArray1); 
          imageArray1= []; 
         } 

       }); 
       loader2.contentLoaderInfo.addEventListener(Event.COMPLETE, function(e:Event):void{ 
        //var loader:URLLoader = URLLoader(e.target); 
        var bitmap:Bitmap = (e.target).content; 
        var data:BitmapData = bitmap.bitmapData; 
        //trace("bitmapcomplete"); 
        imageArray2.push(data); 
        //trace("url object lengte is " + urlObject.length); 

        if(imageArray2.length == 2){ 
         trace("imageArray2 gelijk"); 
         on_complete(imageArray2); 
         imageArray2= []; 

        } 

       }); 
       loader3.contentLoaderInfo.addEventListener(Event.COMPLETE, function(e:Event):void{ 

        //var loader:URLLoader = URLLoader(e.target); 
        var bitmap:Bitmap = (e.target).content; 
        var data:BitmapData = bitmap.bitmapData; 
        //trace("bitmapcomplete"); 
        imageArray3.push(data); 
        //trace("url object lengte is " + urlObject.length); 

        if(imageArray3.length == 3){ 
         trace("imageArray3 gelijk"); 
         on_complete(imageArray3); 
         imageArray3= []; 

        } 

       }); 
       loader4.contentLoaderInfo.addEventListener(Event.COMPLETE, function(e:Event):void{ 

        //var loader:URLLoader = URLLoader(e.target); 
        var bitmap:Bitmap = (e.target).content; 
        var data:BitmapData = bitmap.bitmapData; 
        //trace("bitmapcomplete"); 
        imageArray4.push(data); 
        //trace("url object lengte is " + urlObject.length); 

        if(imageArray4.length == 4){ 
         trace("imageArray4 gelijk"); 
         on_complete(imageArray4); 
         imageArray4= []; 

        } 

       }); 
       loader5.contentLoaderInfo.addEventListener(Event.COMPLETE, function(e:Event):void{ 

        //var loader:URLLoader = URLLoader(e.target); 
        var bitmap:Bitmap = (e.target).content; 
        var data:BitmapData = bitmap.bitmapData; 
        //trace("bitmapcomplete"); 
        imageArray5.push(data); 
        //trace("url object lengte is " + urlObject.length); 

        if(imageArray5.length == 5){ 
         trace("imageArray5 gelijk"); 
         on_complete(imageArray5); 
         imageArray5= []; 

        } 

       }); 
       loader6.contentLoaderInfo.addEventListener(Event.COMPLETE, function(e:Event):void{ 

        //var loader:URLLoader = URLLoader(e.target); 
        var bitmap:Bitmap = (e.target).content; 
        var data:BitmapData = bitmap.bitmapData; 
        //trace("bitmapcomplete"); 
        imageArray6.push(data); 
        //trace("url object lengte is " + urlObject.length); 

        if(imageArray6.length == 6){ 
         trace("imageArray6 gelijk"); 
         on_complete(imageArray6); 
         imageArray6= []; 

        } 

       }); 

      } 

함수 : 그것은 하나의 객체에 여러 첨부가있는 경우, 비트 맵을 로딩, 및 첨부의 양 양 같으면 그것이 다시 함수에 비트 맵 배열을 전송해야한다 점검

get_bitmap(bitmapString,imageObject, function(imageArray:Array):void { 
           intje++; 
           trace("getBitmap teruggestuurd "+intje + "waarvan 1 image " + loader1int+ "waarvan 2 images " +loader2int); 
           trace("getbitmap aangeroepen is "+d); 

을 여기에 내 로그입니다 : 그게 호출

lengte is 20 anders1 anders1 geenImage anders1 anders1 getBitmap teruggestuurd 1waarvan 1 image 4waarvan 2 images 0 getbitmap aangeroepen is 5 0 getBitmap teruggestuurd 2waarvan 1 image 4waarvan 2 images 0 getbitmap aangeroepen is 5 1 getBitmap teruggestuurd 3waarvan 1 image 4waarvan 2 images 0 getbitmap aangeroepen is 5 2 getBitmap teruggestuurd 4waarvan 1 image 4waarvan 2 images 0 getbitmap aangeroepen is 5 3 getBitmap teruggestuurd 5waarvan 1 image 4waarvan 2 images 0 getbitmap aangeroepen is 5 4 anders1 anders2 anders2 anders1 anders1 anders1 anders1 anders1 anders1 anders1 anders2 anders1 anders1 anders1 anders1 imageArray2 gelijk getBitmap teruggestuurd 6waarvan 1 image 16waarvan 2 images 3 getbitmap aangeroepen is 20 5 imageArray2 gelijk getBitmap teruggestuurd 7waarvan 1 image 16waarvan 2 images 3 getbitmap aangeroepen is 20 6 imageArray2 gelijk getBitmap teruggestuurd 8waarvan 1 image 16waarvan 2 images 3 getbitmap aangeroepen is 20 7 imageArray2 gelijk getBitmap teruggestuurd 9waarvan 1 image 16waarvan 2 images 3 getbitmap aangeroepen is 20 8 imageArray2 gelijk getBitmap teruggestuurd 10waarvan 1 image 16waarvan 2 images 3 getbitmap aangeroepen is 20 9 imageArray2 gelijk getBitmap teruggestuurd 11waarvan 1 image 16waarvan 2 images 3 getbitmap aangeroepen is 20 10 imageArray2 gelijk getBitmap teruggestuurd 12waarvan 1 image 16waarvan 2 images 3 getbitmap aangeroepen is 20 11 imageArray2 gelijk getBitmap teruggestuurd 13waarvan 1 image 16waarvan 2 images 3 getbitmap aangeroepen is 20 12 imageArray2 gelijk getBitmap teruggestuurd 14waarvan 1 image 16waarvan 2 images 3 getbitmap aangeroepen is 20 13 imageArray2 gelijk getBitmap teruggestuurd 15waarvan 1 image 16waarvan 2 images 3 getbitmap aangeroepen is 20 14 imageArray1 gelijk getBitmap teruggestuurd 16waarvan 1 image 16waarvan 2 images 3 getbitmap aangeroepen is 20 15 imageArray1 gelijk getBitmap teruggestuurd 17waarvan 1 image 16waarvan 2 images 3 getbitmap aangeroepen is 20 16 imageArray1 gelijk getBitmap teruggestuurd 18waarvan 1 image 16waarvan 2 images 3 getbitmap aangeroepen is 20 17 imageArray1 gelijk getBitmap teruggestuurd 19waarvan 1 image 16waarvan 2 images 3 getbitmap aangeroepen is 20 18 imageArray1 gelijk getBitmap teruggestuurd 20waarvan 1 image 16waarvan 2 images 3 getbitmap aangeroepen is 20 19 gelijk dude imageArray1 gelijk getBitmap teruggestuurd 21waarvan 1 image 16waarvan 2 images 3 getbitmap aangeroepen is 20 0 imageArray1 gelijk getBitmap teruggestuurd 22waarvan 1 image 16waarvan 2 images 3 getbitmap aangeroepen is 20 1 imageArray1 gelijk getBitmap teruggestuurd 23waarvan 1 image 16waarvan 2 images 3 getbitmap aangeroepen is 20 2 imageArray1 gelijk getBitmap teruggestuurd 24waarvan 1 image 16waarvan 2 images 3 getbitmap aangeroepen is 20 3 imageArray1 gelijk getBitmap teruggestuurd 25waarvan 1 image 16waarvan 2 images 3 getbitmap aangeroepen is 20 4 imageArray1 gelijk getBitmap teruggestuurd 26waarvan 1 image 16waarvan 2 images 3 getbitmap aangeroepen is 20 5 imageArray1 gelijk getBitmap teruggestuurd 27waarvan 1 image 16waarvan 2 images 3 getbitmap aangeroepen is 20 6 imageArray1 gelijk getBitmap teruggestuurd 28waarvan 1 image 16waarvan 2 images 3 getbitmap aangeroepen is 20 7 imageArray1 gelijk getBitmap teruggestuurd 29waarvan 1 image 16waarvan 2 images 3 getbitmap aangeroepen is 20 8 imageArray1 gelijk getBitmap teruggestuurd 30waarvan 1 image 16waarvan 2 images 3 getbitmap aangeroepen is 20 9 imageArray1 gelijk getBitmap teruggestuurd 31waarvan 1 image 16waarvan 2 images 3 getbitmap aangeroepen is 20 10 imageArray1 gelijk getBitmap teruggestuurd 32waarvan 1 image 16waarvan 2 images 3 getbitmap aangeroepen is 20 11 imageArray1 gelijk getBitmap teruggestuurd 33waarvan 1 image 16waarvan 2 images 3 getbitmap aangeroepen is 20 12 imageArray1 gelijk getBitmap teruggestuurd 34waarvan 1 image 16waarvan 2 images 3 getbitmap aangeroepen is 20 13 imageArray1 gelijk getBitmap teruggestuurd 35waarvan 1 image 16waarvan 2 images 3 getbitmap aangeroepen is 20 14 

답변

0

로더의 부하 방법은 비동기입니다. 즉, 수행하는 데 시간이 걸리고 코드 실행이 '대기'하지 않습니다.

을 (우리가 ... 이벤트와 작업하는 이유입니다)이 작업을 수행 할 때 그래서 :

    var url21:String = url +urlObject[0].id; 
        loader2.load(new URLRequest(url21)); 
        var url22:String = url +urlObject[1].id; 
        loader2.load(new URLRequest(url22)); 

당신은 loader2 (url21)에 로딩을 시작, 즉시 중지, 새로운로드 (url22)를 시작 첫 번째로드, 따라서 하나의 'COMPLETE'이벤트 만 가져옵니다 (url22의 경우).

훅 후프 도움말 :