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

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

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

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

Unity

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

Q&A

解決済

2回答

847閲覧

UnityのVSでDebug.Logの入れ方

Chibichan

総合スコア72

C#

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

Unity

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

0グッド

0クリップ

投稿2021/05/24 17:43

編集2021/05/25 07:52

下記のコードが正常に作動するか確認のためにIsAnswerCorrectメソッドにDebug.Logを入れて、
確認したいのですが、どうやって入れたらいいでしょうか?Returnに入れるとエラーが出て、
If文を中にいれて、その中にDebug.Logを入れてもエラーがでて、今のメソッド内に入れてもエラーがでます。

public class SpawnManager : MonoBehaviour { public GameObject targetObject1; public GameObject targetObject2; public GameObject[] firePrefabs; public void CheckAnswer() { if (IsAnswerCorrect()) { int fireIndex = Random.Range(0, 3); Instantiate(firePrefabs[fireIndex], new Vector2(0, 235), firePrefabs[fireIndex].transform.rotation); 上記のイベントができないので、以下のIsAnswerCorrectメソッドに問題があるかと思っています。 } } public bool IsAnswerCorrect() { Bottun answer = targetObject1.GetComponent<Bottun>(); QuestionManager Qm = targetObject2.GetComponent<QuestionManager>(); var answer1 = answer.GetSuujiText(); var answer2 = Qm.GetCurrentQuestionData().GetAnswer(); return answer1.Equals(answer2); } }

チャレンジ1

public bool IsAnswerCorrect() { Bottun answer = targetObject1.GetComponent<Bottun>(); QuestionManager Qm = targetObject2.GetComponent<QuestionManager>(); var answer1 = answer.GetSuujiText(); var answer2 = Qm.GetCurrentQuestionData().GetAnswer(); answer1.Equals(answer2) return Debug.Log(answer2); }

チャレンジ2

public bool IsAnswerCorrect() { Bottun answer = targetObject1.GetComponent<Bottun>(); QuestionManager Qm = targetObject2.GetComponent<QuestionManager>(); var answer1 = answer.GetSuujiText(); var answer2 = Qm.GetCurrentQuestionData().GetAnswer(); Debug.Log(answer2); return answer1.Equals(answer2); } コード

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

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

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

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

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

YAmaGNZ

2021/05/24 22:28

どのようにDebug.Logを入れてどのようなエラーが出たのでしょうか?
Chibichan

2021/05/25 05:38

answer1.Equals(answer2);をメソッド内に動かして、ReturnでDebug.Logを入れたり、Debug.Log(answer1)をメソッド内に入れてみましたが、スクリプトエラーで実行できませんでした。
YAmaGNZ

2021/05/25 05:56

どのように書いてなんというエラーが出たのでしょうか? 日本語ではなくコードで示してください。
Chibichan

2021/05/25 07:27

エラーがでるというより、VSが赤の波線で間違いを指摘します。
YAmaGNZ

2021/05/25 07:41

どのようなエラーが出ているのか分からないのであれば、せめてDebug.Logを追加したコードを示してください。 そのコードは質問を編集して提示してください。
Chibichan

2021/05/25 07:52

コードを追加しました。
guest

回答2

0

ベストアンサー

まず

C#

1return Debug.Log(answer2);

この書き方ですが、このように書くとDebug.Log(answer2)の結果をreturnする意味となります。
ですが、Debug.Logはvoidと定義されており戻り値がありません。
なので、returnで値を返すことが不可能となります。
なのでエラーとなります。

また

C#

1var answer2 = Qm.GetCurrentQuestionData().GetAnswer(); 2Debug.Log(answer2);

こちらに関してですが、answer2が何の型なのか分からないのでなんとも言えません。

これ以上に関しては最低でもコンパイルエラーで何というエラーが出ているのか把握できるようになって現在の状態を説明できるようにならないとお答えするのが難しいと思います。

投稿2021/05/25 08:17

YAmaGNZ

総合スコア10489

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

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

Chibichan

2021/05/25 08:21

ありがとうございます!とりあえずチャレンジ2は、可能と言うことですね?
YAmaGNZ

2021/05/25 08:25 編集

可能かどうか判断する材料が足りないということです。 質問の書き方ですとチャレンジ2でも赤い波線が出るということですよね? その赤い波線はコンパイルエラーとなることを指し示します。 そして、なぜエラーとなるか原因がエラーメッセージとして書いてあります。 これが分からないとなるとはっきりいってお話になりません。
guest

0

VisualStudio使ってるなら、ブレークポイントで実行止めて、ステップ実行できるんじゃないでしょうか

投稿2021/05/24 23:04

y_waiwai

総合スコア88042

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

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

Chibichan

2021/05/25 05:45

ご提案ありがとうございます。どうやってたら、実行を止めることができるのでしょうか?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問