getTextExtentを使用してテキストのサイズを取得しようと思っているけど
戻り値が????何だこりゃ?
オデ、何か間違ってる?
var myTextFormat = new TextFormat();
myTextFormat.size = 10;
myTextFormat.font = "Osaka";
var startBtTxt = "自己診断スタート";
var objSize = myTextFormat.getTextExtent(startBtTxt);
trace("size = "+objSize.height);
としてtraceしたら
size = 250
なんですと!!
うーん、分からない・・・。
Flashのヘルプで
シンタックス
TextFormat.getTextExtent (text)
パラメータ
text ストリング。
戻り値
プロパティ width および height を持つオブジェクト。
だとあるんだけど何故だろう?
追記:
色々と調べた結果MacではgetTextExtentの戻り値はtwipと言う単位で返ってくるらしいです。
ちなみに20 TWIP = 1 pixelらしいです。
なんだよ・・・、コレ。
最悪じゃんかよぉ。しかもモニタの解像度にも依存するような事書いてあったり・・・。
Winじゃ普通に値を取得出来るのにさ。
// ----------------------------
// テキストフォーマット & MacのgetTextExtent調整関数
// ----------------------------
function verCh(txt,bt) {
bt = eval(bt);
bt.setStyleProperty("textFont",myTextFormat.font);
bt.setStyleProperty("textSize",myTextFormat.size);
var obj = myTextFormat.getTextExtent(txt);
if (-1 < $version.indexOf("MAC")) {
obj.width = obj.width/20 + myTextFormat.size;
obj.height = obj.height/20;
}
bt.setSize(obj.width,obj.height);
}
こんな感じで今回は対応出来そう。
テキストフォーマットが増えそうなら第三引数にセットしても
エエけど今回は1つで面倒だから良いかな。
もっと良さそうな方法ありそげだ。

getTextExtentの戻り値が?