2009-12-31 95 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

ArgumentError: Error #2015: Invalid BitmapData. 

它往往當我複製像素的發生。我不知道爲什麼。

tileImage; 

tileImage是有效的,我在下面的代碼中使用了變量,它的工作原理。但上面沒有。不知道爲什麼。任何人有任何線索?

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

回答

0

沒關係,我想一個更好的解決方案

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

使用theMatrix.translates給你選擇你想要的瓦片的哪一部分的能力,而不影響精靈的位置