🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

Q&A

解決済

1回答

796閲覧

テキスト入力の際のテキストボックスのサイズ変更について

k-U

総合スコア2

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

0グッド

0クリップ

投稿2021/02/21 11:06

編集2021/02/21 12:10

unityでゲーム中にテキスト入力をした時に、
テキストの長さに合わせて、大きさが変化するテキストボックスを作りたいと思っています。

以下のコードでxとyをテキストの長さに合わせて
テキストボックスのサイズを変更することは可能でしょうか?
(このコードだけではxとyが定義されていないのですが)

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
using UnityEngine;

public class Test : MonoBehaviour
{
private string text = "";
void OnGUI()
{
Rect rect = new Rect(10, 10, x, y);
text = GUI.TextArea(rect, text);
}

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

fiveHundred

2021/02/23 11:48

> IMGUI システムは通常、プレイヤーが操作するゲーム内のユーザーインターフェースに使うことを目的としていません。それらを行うにはゲームオブジェクトベースの Unity の主要 UI システム を使用します。UI システムは UI 要素の編集と配置にゲームオブジェクトベースのアプローチが可能で、ビジュアルデザインと UI のレイアウトをするためにより便利なツールを備えています。 (https://docs.unity3d.com/ja/current/Manual/GUIScriptingGuide.html) ということで、OnGUI()はデバッグ用なので、普通のUIを使ったほうがよろしいかと思います。
k-U

2021/02/23 12:42

ご回答大変ありがとうございます!! テキスト入力できるUIを作りたいのですが、InputFieldしか方法はないでしょうか?
fiveHundred

2021/02/23 12:48

私が知る限りでは、それしかないですね。
k-U

2021/02/23 13:01

大変ありがとうございます! ベストアンサーに選ばせていただきたかったのですが、「質問への追記・修正依頼」の記入をいただいたため選べませんでした。もしお手すきであれば「上記の通り」等何かご回答いただければ幸いでございます!!
guest

回答1

0

ベストアンサー

IMGUI システムは通常、プレイヤーが操作するゲーム内のユーザーインターフェースに使うことを目的としていません。それらを行うにはゲームオブジェクトベースの Unity の主要 UI システム を使用します。UI システムは UI 要素の編集と配置にゲームオブジェクトベースのアプローチが可能で、ビジュアルデザインと UI のレイアウトをするためにより便利なツールを備えています。

引用元

ということで、OnGUI()はデバッグ用なので、普通のUI(InputField)を使うことになります。

投稿2021/02/23 23:25

fiveHundred

総合スコア10152

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問