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

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

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

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

Unity

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

Q&A

解決済

1回答

1604閲覧

音ゲー中に判定を表示したい

AZUKI_Kasabuki

総合スコア6

C#

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

Unity

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

0グッド

0クリップ

投稿2020/02/14 15:32

編集2020/02/14 15:34

前提・実現したいこと

「unityで作るリズムゲーム」という本を参考にして、音ゲーを作っています。
ゲーム中に判定を表示するスプリクトを書いているのですが、文字が表示されません。
判定はJudgementTypeという名前の列挙型にまとめられており、別のスプリクトで定義されています。
UnityやC#を始めてからそこまで長くないので、知識が足りないかもしれません、よろしくお願いします。

発生している問題・エラーメッセージ

判定が表示できない 

該当のソースコード

C#

1using System.Collections; 2using System.Collections.Generic; 3using UnityEngine; 4using UnityEngine.UI; 5 6public class Judgetiming : MonoBehaviour{ 7public GameObject score_object = null; 8 9 void OnKeyDown(JudgementType judgementType) 10 { 11 Text score_text = score_object.GetComponent<Text> (); 12 switch(judgementType){ 13 case JudgementType.Miss: 14 score_text.text = "Miss"; 15 score_text.color = new Color(0.2f, 0.2f, 0.5f, 1.0f); 16 score_object.gameObject.SetActive(true); 17 break; 18 19 case JudgementType.Bad: 20 score_text.text = "Bad"; 21 score_text.color = new Color(0.0f, 0.0f, 0.5f, 1.0f); 22 score_object.gameObject.SetActive(true); 23 break; 24 25 case JudgementType.Good: 26 score_text.text = "Good"; 27 score_text.color = new Color(1.0f, 0.92f, 0.015f, 1.0f); 28 score_object.gameObject.SetActive(true); 29 break; 30 31 case JudgementType.Perfect: 32 score_text.text = "Perfect"; 33 score_text.color = new Color(1.0f, 0.0f, 1.0f, 1.0f); 34 score_object.gameObject.SetActive(true); 35 break; 36 } 37} 38}

試したこと

・ノーツの設定をするスプリクトに書く
・Text形式ではなくて画像読み込みにする
・if文を使う
・string.Formatメゾットを使う

補足情報(FW/ツールのバージョンなど)

Unity 2019.2.19f1
参考:unityで作るリズムゲーム

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

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

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

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

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

guest

回答1

0

ベストアンサー

●score_objectにはTextコンポーネントを持つオブジェクトを設定できていますか?
●OnKeyDownは本当によばれていますか?いずれかのcaseに該当していますか?(print文などできちんと通っているか確認してみてください)
●OnKeyDownを呼ばれた後、Inspecterに表示されているscore_objectのtextに文字が入っていますか?
●コンポーネントは有効になっていて、画面内に表示されていますか?

とりあえず思いついたところを記述してみました。一度確認してみてください。

投稿2020/02/14 15:55

yuuyu

総合スコア1139

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問