1

私はタイルの配列を持っており、それらは私の「キャンバス」に描かれています。

キャンバスを中心から拡大縮小する方法を知っています:

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);

しかし、「キャンバス」に描画しているときに、すべてのビットマップタイルを中心から拡大縮小するにはどうすればよいですか

4

1 に答える 1

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));

タイルの描画に別の手法を使用する場合は、より詳細に説明してください。

于 2013-01-04T14:58:35.510 に答える