バグレポート

osGetDrawStringSize()の挙動

 
プロフィール写真2019-11
osGetDrawStringSize()の挙動
by 堀田 海月 - Sunday, 3 July 2016, 3:36 AM
 

プリムの面に直接テキストを表示させるために、osGetDrawStringSize("vector", "Porta Land", "Arial", 24) で大きさを測って中央抑えにしようとしてるのですが、Porta Landに限ってこの関数の結果が、<0.0, 1.0, 0.0>固定になってしまいます。

同じスクリプトを入れたオブジェクトを、Sandbox2、Sandbox3、JOG meets、Wadatsumiへと持って行って試したのですが、数値に多少の違いはありましたが概ね問題のない数値が出ていました。

default
{
    state_entry()
    {
        face = 0;
        string text = "Porta Land";
        vector size = osGetDrawStringSize("vector", text, "Arial", 24);
        integer posx = 128 - ((integer)size.x >> 1);
        integer posy = 127 - ((integer)size.y >> 1);
        string CommandList = "";
        CommandList = osMovePen(CommandList, posx, posy);
        CommandList = osSetFontSize(CommandList, 24);
        CommandList = osDrawText(CommandList, text);
        osSetDynamicTextureDataBlendFace("", "vector", CommandList, "width:256,height:256", FALSE, 2, 0, 255, face);
    }
}

これでテクスチャの中央にテキストが表示されるのですが、先ほどのように大きさが<0.0, 1.0, 0.0>と出力されてしまうので、真ん中にはなりません。

Simの再起動でも直りませんでしたので、調査をお願いいたします。

Picture of Iseki Fumikazu
Re: osGetDrawStringSize()の挙動
by Iseki Fumikazu - Sunday, 3 July 2016, 8:29 AM
 

サーバを再起動したところ,直ったようです.


プロフィール写真2019-11
Re: osGetDrawStringSize()の挙動
by 堀田 海月 - Sunday, 3 July 2016, 9:22 AM
 

確認できました。

ありがとうございました(ωV_vω)ペコ