unityのテキストにルビ文字をふる
今、作ってるゲームが、どうしても文章が多くなってしまい、
なんとかしてunityのテキストにルビ文字の仕組みを作ってみました。
↓unityのプロジェクトです。ダウンロードしてunityで開いてみてください。
unity_ruby_sample
こういう画面が表示されたでしょうか?
このプロジェクトでルビ文字に必要なのは
・ルビ文字表示用のプレハブ(pf_ruby.prefab)
・テキストにアタッチするスクリプト(ruby_text.cs)
この2つです。
まずpf_ruby.prefabをResourcesフォルダ内に配置してください。
場所、ファイル名はruby_text.csの中で指定してあるので、
必要があれば変更もできます。
次にルビをふりたいテキストに、
ruby_text.csをコンポーネントとして付け足してください。
ルビ文字の表記の仕方は
こんな感じです。
ルビ文字のフォント、大きさ、色などは、
pf_ruby.prefabを調整してください。
プレハブの中身はuGuiのTextです。
スクリプトで制御する場合
テキストをアクティブにしたときにルビ文字の処理が行われます。
なのでスクリプトで表示する際は、
非アクティブ状態でテキストを設定
↓
次にテキストをアクティブにする。
text1.GetComponent<Text> ().text = "ルビ[文字:もじ]のテスト"; text1.SetActive (true);
以上のような段取りを取ってください。
注意事項
・長い文章(200文字以上とか)には対応していません。
・ルビ文字の箇所が10箇所以上にも対応していません。
・iTweenなど同時に扱うとうまくいかない場合があります。
タイミングをずらすなどして工夫してください。