スクリプト前回意気揚々とMultilineAttributeを紹介したのですが、その中でデメリットとしてスクロールバーが表示されないため、カーソルを移動させて範囲外の文字を表示させることを書きました。エクスプラボ【Unity】MultilineAttributeを使ってInspectorで複数行テキストを扱うhttps://ekulabo.com/multiline-attributeInspectorウィンドウで複数行テキストエリアを表示したい場合はのAttributeを使います。長文を書く場合には通常のテキストフィールドだと狭いため、ある程度大きい複数行テキストエリアにしておくと編集しやすいです。実はそのデメリットを解消し、スクロールバーが表示されるテキストエリアをInspectorウィンドウで表示させる方法があるんです。それはTextAreaAttributeを使うこと。あれ、Multilineじゃなくてこっちだけあればいいんじゃ......。テキストエリアはもう無理に日本語訳しなくてもいいでしょうから、テキストエリアを表示する属性、ぐらいの意味合い。publicまたは[SerializeField]を付けたstringフィールドの前に[TextArea]を付ければOK。[Multiline]と使い方が似ています。maxLines)]のように引数は2つあって、最初から画面に表示している行数を指定するminLinesと、スクロールバーを使わずに表示できる行数を指定するmaxLinesがあります。minLinesが5だと、画面には5行分のスペースが確保されます。何も指定しなければ3行となります。maxLinesが7なら、7行目まではスクロールバーなしで表示され、8行目からスクロールバー付きで表示されることになります。こちらも何も指定しなければ、3行目まではスクロールバーなし、4行目からスクロールバー付きとなります。minLinesとmaxLinesの間の行数(上の例だと6)だと、テキストエリア自体が大きくなって領域を確保します。サンプルテキストエリアを表示するサンプルコードは以下の通り。Gist.publicでも[SerializeField]でも使えます。見た目の違いを確認したかったので、[Multiline]のテキストエリアも用意しました。このスクリプトを任意のゲームオブジェクトにアタッチすると以下のように表示されます。見た目が異なるTextArea2には4行以上文字を入れているので、右端にスクロールバーが表示されます。画像の中でも書いていますが、文字列は画面右端で折り返されます。画面内に表示されている行数に応じてスクロールバーが出てくるので、文字列に含まれる改行コードの数とは一致しません。これに対して[Multiline]では改行コードがあるときに改行するので、改行するまではいくら見切れようと1行として扱います。見て改行コードの数を掴むなら[Multiline]を使った方が良さそう。表示領域の広さは[TextArea]が圧勝です。続いてstring型以外のフィールドに[TextArea]を付けた場合です。Gist.コンパイル自体が通る点は[Multiline]と同じです。Inspectorウィンドウでも以下のように表示されます。(TextAreaDrawerはstring型で使ってね)』と怒られます。これだけで終わらないのが[TextArea]。なんとコンソールでもエラーをダバダバと出力します。value』のエラーが吐かれます。すまぬ......すまぬ......。あっという間にエラーの数が999+になるので、コンパイルが通るからといってstring型以外のフィールドにつけるのは良くなかったです。お次は引数の指定付き。Gist.上で書いたことの復習になるけど、最初から画面に表示している行数を指定するminLinesと、スクロールバーを使わずに表示できる行数を指定するmaxLinesがあります。これは動いている様子を見ると分かりやすいかも。伸びる上のフィールドは、最初に5行分のスペースが確保され、それを超えた6行目、7行目ではスペースが広がっています。8行目に突入すると右端にスクロールバーが表示されるようになります。下のフィールドの動きは以下のようになります。なんとテキストエリアが縮むminLinesが7なので、7行分のスペースが確保された状態でスタート。5行目までは7行分のスペースで表示されますが、maxLinesが5であるため6行目からはスクロールバーが表示されることに。結果として、5行分のスペース+スクロールバーという状態になりました。minよりmaxの方が小さい、なんて使い方はしないと思うけど、実験は大事です。最後にstring型のListを使った場合です。Gist.[Multiline]の場合と同じように、Listでも[TextArea]のAttributeが有効です。リストの各要素にも反映されるスクロールバーの下ボタンをクリックすると、全部の要素でスクロールします。別の要素の内容を見ながら入力するときはちょっとビビるかもしれません。MultilineとTextAreaの使い分け似たような機能があると迷うのが使い分け。思うけど、やっぱり比較はしておきたいよね。2つうーん、比べちゃうと[Multiline]のいいところがあまり見つからない......。いやでもそれは[TextArea]も同じだし......。うん、[TextArea]がおすすめ。ゲーム開発の攻略チャートを作りました!「ゲームを作ってみたいけど、何から手を付けていいか分からない!」そんなお悩みをお持ちの方向けに、todoがアプリをリリースした経験を中心に、ゲーム作りの手順や考慮すべき点をまとめたe-bookを作成しました。ゲーム作りはそれ自体がゲームのように楽しいプロセスなので、「攻略チャート」と名付けています。投稿一覧Unityを使ってアプリを作ったり、Assetを作ったりしてる個人開発者。Unity全般ネタとAsset開発の情報を扱っています。Asset開発は日本語の情報が少ないのよね。ことで些細なネタでも情報を蓄積するのが目的です。2018.07.16Inspectorウィンドウに表示するフィールドはToolTipAttributeを使ってヒントメッセージを表示すると親切です。2018.06.05作成したスクリプトはコンポーネントメニューからアタッチすることができますが、デフォルトだと『Scripts』の下にずらっと並びます。2018.06.12スクリプトを書く時に悩む、Inspectorに表示したいフィールドの公開方法。2018.07.17HelpURLAttributeを使うことでInspectorウィンドウからヘルプページに飛ばすことができます。2018.07.06SpaceAttributeはInspectorウィンドウで余白を表示することができるAttributeです。コメントをキャンセルメールアドレスが公開されることはありません。コメントデータの処理方法の詳細はこちらをご覧ください。todoUnityのアセットを作ったり、スマホ向けのアプリを作っています。このブログではUnity初心者に向けたチュートリアルやテクニックを放出しています。詳しいプロフィールはこちら。お仕事の相談や現在提供中のサービスについては、こちらの『サービス内容』のページをご覧ください。Explorers_todoオンライントレーニングのサイトをオープン!エクスプラボを運営しているtodoが、より集中的にゲーム作りについて学べるオンライントレーニングのサイトをオープンしました。エクスプラボのトレーニングルーム』です。勉強したことの進捗も表示できるようになっているので、どれだけ頑張ったのかが分かるようになっています。ゲーム開発の攻略チャート』というe-bookをプレゼントしています。メルマガではゲーム開発のテクニックを中心に役立つ情報をお届けします。詳しくはこちら!お仕事の依頼はこちら!ゲーム開発のサポートも可能!エクスプラボではゲーム開発のサポートのサービスも行なっています。いう場合にオススメのプランです。詳細はこちら!もちろん、普通に開発依頼をいただいてもお手伝いします。その場合はお問い合わせへ。【Unity】ポストプロセシングを使って簡単にプロっぽいゲーム画面を作るゲームの作り方を学べるオンライン講座のサイトをオープンしました!RANKING【Unity】Mathfの切り上げ、切り捨て、偶数丸め。使い分けが大事よねMathf【Unity】ゲームといえばランダム要素。(12)作ったアプリ空とにゃんこと風船と癒し系縦スクロール避けゲーの『空とにゃんこと風船と』(TODOWORKS名義でリリース)気軽に遊べるスマートフォン向けアプリです。ボクセルアートで彩られるどこかレトロ、でも新しい世界で癒されてみませんか?ぼく、猫ですって!タップ系RPG『ぼく、猫ですって!』(TODOWORKS名義でリリース)気軽に遊べるスマホRPG。