具有多个对象的矩阵变换比例

时间:2013-01-04 11:55:26

标签: actionscript-3 matrix scale

我有一系列瓷砖,它们是在我的“画布”上绘制的。

我知道如何将我的画布从其中心转换为缩放:

var m:Matrix = new Matrix();
m.translate(-centerX, -centerY);
m.scale(scaleX, scaleY);
m.translate(centerX, centerY);

这会将平铺和平移转换为x,y

var m:Matrix = new Matrix();
m.translate(_tile.x,_tile.y);
m.scale(_scale, _scale);

但是当我在“画布”上绘制它们时,如何从中心缩放所有位图图块

1 个答案:

答案 0 :(得分:0)

此代码显示如何使用BitmapData.draw方法缩放和居中平铺位图数据(tile_1是“(0,0)”排列的位图):

var tile:BitmapData = new tile_1();
var canvas:BitmapData = new BitmapData(1000, 1000, true, 0x00FFFFFF);
var scale:Number = 2;
canvas.draw(tile, new Matrix(scale, 0, 0, scale, -tile.width*scale/2, -tile.height*scale/2));

如果您使用其他技术绘制瓷砖,请更详细地描述。