2009-12-31 2 views
0
 private static var tileDir:String; 
     public static var tileImage:BitmapData; 
     private static var loader:Loader; 

     public static var tileReady:EventDispatcher = new EventDispatcher(); 
     public static var tileNum_perRow:Number = 3; 
     public static var select:selector; 

     public var tileNum:Number = 0; 
     public var setBack:Number = 0; 
     public var tileState:String; 
     public var tCol:Number; 
     public var tRow:Number; 

     private var tWidth:int = 30; 
     private var tHeight:int = 30; 
     private var tImage:BitmapData; 
     private var canvas:Bitmap; 

     private var p:Point; 
     private var r:Rectangle;  

     public function Tile():void 
     { 
      var tempImage:BitmapData = tileImage; 
      r = new Rectangle(0,0,30,30); 
      p = new Point(0,0); 
      tImage = new BitmapData(30,30); 
      tImage.copyPixels(tempImage,r,p); 
     } 

그리고 나는 다음과 같은 오류가 발생합니다. 나는 이유를 모른다.잘못된의 BitmapData 오류 # 2015

tileImage; 

tileImage가 유효합니다. 아래 코드에서 변수를 사용했는데 작동합니다. 그러나 위의 doesnt. 이유를 모르겠다. 누구나 단서가 있습니까?

this.graphics.beginBitmapFill(tileImage); 
this.graphics.drawRect(60, 0,tWidth ,tHeight); 

답변

0

신경 끄시 고, 나는 스프라이트의 위치를 ​​초래하지 않고, 당신이 원하는 타일의 어떤 부분을 선택할 수있는 능력을주고 더 나은 해결책 theMatrix.translates를 사용

   theMatrix.translate(30,0); 
     this.graphics.beginBitmapFill(tileImage,theMatrix); 
     //this.graphics.drawRect(0, 0,tWidth ,tHeight); 
     this.graphics.endFill(); 

을 파악