スペースの外観を作成するために互いに正確に並べる必要がある多数のテキスト フィールドに追加したフォント形式に、Arial を埋め込みフォントとして追加しました。それらは、互いに約 1 ~ 2 ピクセルの間隔で配置されます。問題は、通常のステージ サイズで表示するとテキストの間隔が不正確に見えることですが、ズームインするとテキストがきれいに表示されます。
いじり回して高度なアンチエイリアスを追加しようとしましたが、何も機能していません。おそらく、Arial は小さなサイズでは機能しないのでしょうか? フォントを設定しないと、必要な結果が得られることはわかっていますが、使用したいフォントではありません。Timesを使用している必要がありますか?
何か案は?
var myFont = new Font1();
format1 = new TextFormat();
format1.color = 0x000000;
format1.size = 16;
format1.font = myFont.fontName;
編集: 基本的に、各文字を独自のテキストフィールドに分割しているので、各文字を操作してアニメーション化できます。ただし、そのためには、1 つのテキストフィールドであるかのように文字の間隔を空ける必要があります。
private var bmd:BitmapData; // bitmapdata to draw textField in;
private function getExactMetrics(textField:TextField):Object
{
// copy textField to bitmap
bmd = new BitmapData(textField.width,textField.height,true,0x000000);
bmd.draw(textField);
// loop through pixels of bitmap data and store the x location of pixels found.
var foundx:Array = [];
for (var nx:int = 0; nx < bmd.width;nx++)
{
for (var ny:int = 0; ny < bmd.height; ny++)
{
var px:uint = bmd.getPixel32(nx, ny);
if (px != 0)
{
foundx.push(nx);
break;
}
}
}
// get the values for the metrics
var startX:int = foundx[0]; // first pixel found representing the x start of the text in pixels
var endX:int = foundx[foundx.length-1]; t
var realWidth:Number = endX - startX;
// clear the array with found x positions
foundx = [];
// wrap values in object
var metrics:Object = { };
metrics.width = realWidth;
metrics.x = startX;
// clear bitmapdata
bmd = null;
return metrics; // retrurn metric object;
}
}