質問をすることでしか得られない、回答やアドバイスがある。

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

新規登録して質問してみよう
ただいま回答率
85.35%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Unity

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

Q&A

解決済

1回答

1372閲覧

TextFieldに日本語が入力できない

Shacho

総合スコア8

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Unity

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

0グッド

0クリップ

投稿2020/04/28 14:50

このようなコードを書いてTextFieldを表示させたのですが、TextFieldに日本語が入力できませんでした。

C#

1using System.Collections; 2using System.Collections.Generic; 3using UnityEngine; 4using MonobitEngine; 5using UnityEngine.SceneManagement; 6 7public class ChatScript : MonobitEngine.MonoBehaviour 8{ 9 private GUIStyle style; 10 11 void Start() 12 { 13 style = new GUIStyle(); 14 style.fontSize = 25; 15 } 16 17 /** ルーム名. */ 18 private string roomName = ""; 19 20 /** チャット発言文. */ 21 private string chatWord = ""; 22 23 /** チャット発言ログ. */ 24 List<string> chatLog = new List<string>(); 25 26 /** 27 * RPC 受信関数. 28 */ 29 [MunRPC] 30 void RecvChat(string senderName, string senderWord) 31 { 32 chatLog.Add(senderName + " : " + senderWord); 33 if (chatLog.Count > 10) 34 { 35 chatLog.RemoveAt(0); 36 } 37 } 38 39 /** 40 * GUI制御. 41 */ 42 void OnGUI() 43 { 44 // MUNサーバに接続している場合 45 if (MonobitNetwork.isConnect) 46 { 47 // ルームに入室している場合 48 if (MonobitNetwork.inRoom) 49 { 50 // ルーム内のプレイヤー一覧の表示 51 GUILayout.BeginHorizontal(); 52 GUILayout.Label("プレイヤーリスト : "); 53 foreach (MonobitPlayer player in MonobitNetwork.playerList) 54 { 55 GUILayout.Label(player.name + " "); 56 } 57 GUILayout.EndHorizontal(); 58 59 // ルームからの退室 60 if (GUILayout.Button("ルーム退室", GUILayout.Width(150), GUILayout.Height(30))) 61 { 62 MonobitNetwork.LeaveRoom(); 63 chatLog.Clear(); 64 } 65 66 // チャット発言文の入力 67 GUILayout.BeginHorizontal(); 68 GUILayout.Label("メッセージ : "); 69 chatWord = GUILayout.TextField(chatWord, GUILayout.Width(400)); 70 GUILayout.EndHorizontal(); 71 72 // チャット発言文を送信する 73 if (GUILayout.Button("送信する", GUILayout.Width(120), GUILayout.Height(30))) 74 { 75 monobitView.RPC("RecvChat", 76 MonobitTargets.All, 77 MonobitNetwork.playerName, 78 chatWord); 79 chatWord = ""; 80 } 81 82 // チャットログを表示する 83 string msg = ""; 84 for (int i = 0; i < 10; ++i) 85 { 86 msg += ((i < chatLog.Count) ? chatLog[i] : "") + "\r\n"; 87 } 88 GUILayout.TextArea(msg, GUILayout.Width(700), GUILayout.Height(600)); 89 } 90 // ルームに入室していない場合 91 else 92 { 93 // ルーム名の入力 94 GUILayout.BeginHorizontal(); 95 GUILayout.Label("ルーム名を入力してください : ", style); 96 roomName = GUILayout.TextField(roomName, GUILayout.Width(200), GUILayout.Height(30)); 97 GUILayout.EndHorizontal(); 98 99 // ルームを作成して入室する 100 if (GUILayout.Button("チャットルームを作成", GUILayout.Width(150), GUILayout.Height(40))) 101 { 102 MonobitNetwork.CreateRoom(roomName); 103 } 104 105 // ルーム一覧を検索 106 foreach (RoomData room in MonobitNetwork.GetRoomData()) 107 { 108 // ルームパラメータの可視化 109 System.String roomParam = 110 System.String.Format( 111 "{0}({1}/{2})", 112 room.name, 113 room.playerCount, 114 ((room.maxPlayers == 0) ? "-" : room.maxPlayers.ToString()) 115 ); 116 117 // ルームを選択して入室する 118 if (GUILayout.Button("ルームに入室 : " + roomParam)) 119 { 120 MonobitNetwork.JoinRoom(room.name); 121 } 122 } 123 124 //サーバーから切断する 125 if(GUILayout.Button("サーバーから切断", GUILayout.Width(200), GUILayout.Height(30))) 126 { 127 MonobitEngine.MonobitNetwork.DisconnectServer(); 128 } 129 } 130 } 131 // MUNサーバに接続していない場合 132 else 133 { 134 // プレイヤー名の入力 135 GUILayout.BeginHorizontal(); 136 GUILayout.Label("プレイヤー名を入力してください : ", style); 137 MonobitNetwork.playerName = GUILayout.TextField( 138 (MonobitNetwork.playerName == null) ? 139 "" : 140 MonobitNetwork.playerName, GUILayout.Width(200), GUILayout.Height(30)); 141 GUILayout.EndHorizontal(); 142 143 // デフォルトロビーへの自動入室を許可する 144 MonobitNetwork.autoJoinLobby = true; 145 146 // MUNサーバに接続する 147 if (GUILayout.Button("サーバーに接続", GUILayout.Width(150) ,GUILayout.Height(40))) 148 { 149 MonobitNetwork.ConnectServer("SimpleChat_v1.0"); 150 } 151 152 //Home画面に戻る 153 if (GUILayout.Button("Home画面へ", GUILayout.Width(150), GUILayout.Height(40))) 154 { 155 156 } 157 } 158 } 159}

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

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

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

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

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

guest

回答1

0

自己解決

InputField等をいじったらうまくいきました。

投稿2020/04/30 10:07

Shacho

総合スコア8

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問