2011-03-30 57 views
0

是否有可能绘制位图到一个图形对象一样如何在图形对象的任何位置绘制位图?

this.graphics.beginBitmapFill(bitmapData, matrix, false); 
this.graphics.drawRect(0, 0, w, h); 
this.graphics.endFill(); 

有偏差? 一个简单的moveTo(x, y)在beginBitmapFill之前调用不起作用:/ 也没有改变drawRect的x和y值......(这似乎与矩阵的翻译效果相同......) 此外,我不' t想要在单独的图形对象中绘制该事物并将其添加到另一个中...

任何线索?

回答

2

晚了一点答案在这里,但因为我发现这个问题,关于这个问题的谷歌搜索的时候,我想我会仍要添加一个答案。

您可以使用矩阵转换和位置的结合,为drawRect中调用在图形的任何位置绘制位图对象:

var positionX:int = 100; 
var positionY:int = 200; 
var matrix:Matrix = new Matrix(); 

matrix.tx = positionX; 
matrix.ty = positionY; 

graphics.beginBitmapFill(bitmapData, matrix); 
graphics.drawRect(positionX, positionY, bitmapData.width, bitmapData.height); 
graphics.endFill(); 

说实话,我从来没有真正完全理解什么矩阵是;),并且对于如何使用它没有任何直观的感受,所以很可能有其他方法或许更好的方法来实现它,但上面的方法对我很有帮助。