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

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

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

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

UI

UIはUser Interfaceの略であり、人間がコンピュータとやりとりをするためのシステムです。

Unity3D

Unity3Dは、ゲームや対話式の3Dアプリケーション、トレーニングシュミレーション、そして医学的・建築学的な技術を可視化する、商業用の開発プラットフォームです。

オブジェクト指向

オブジェクト指向プログラミング(Object-oriented programming;OOP)は「オブジェクト」を使用するプログラミングの概念です。オブジェクト指向プログラムは、カプセル化(情報隠蔽)とポリモーフィズム(多態性)で構成されています。

Unity

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

Q&A

1回答

1490閲覧

オブジェクトの反映がされない

hikaaaaaaaa

総合スコア19

C#

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

UI

UIはUser Interfaceの略であり、人間がコンピュータとやりとりをするためのシステムです。

Unity3D

Unity3Dは、ゲームや対話式の3Dアプリケーション、トレーニングシュミレーション、そして医学的・建築学的な技術を可視化する、商業用の開発プラットフォームです。

オブジェクト指向

オブジェクト指向プログラミング(Object-oriented programming;OOP)は「オブジェクト」を使用するプログラミングの概念です。オブジェクト指向プログラムは、カプセル化(情報隠蔽)とポリモーフィズム(多態性)で構成されています。

Unity

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

0グッド

0クリップ

投稿2020/04/28 06:21

編集2022/01/12 10:55

unity3Dで鬼ごっこのゲームを作成しております。

その際に鬼がプレイヤーに触れたい際に捕まえるボタンを実装したのですがうまく反映がされません。
コンソール内にはboolの値は反映がされているのですが捕獲のボタンをsetactive(true)にできません。

捕獲ボタン(active(false)でインスペクター内に存在)はGameController内にアタッチ済みです。

アドバイスをいただけますと幸いです。

C#

1using System.Collections; 2using System.Collections.Generic; 3using UnityEngine; 4using UnityEngine.UI; 5 6public class OniController : MonoBehaviour 7{ 8 9 10 public bool canhokaku; 11 public bool CANHOKAKU 12 { 13 get { return this.canhokaku; } //取得用 14 private set { this.canhokaku = value; } //値入力用 15 } 16 17 18 19 void Start() 20 { 21 22 23 24 public void OnCollisionEnter(Collision hit) 25 { 26 // 接触対象はPlayerタグですか? 27 if (hit.gameObject.tag == "Player") 28 { 29 30 canhokaku = true; 31 Debug.Log(canhokaku); 32 33 34 } 35 36 } 37 38 public void OnCollisionExit(Collision hit) 39 { 40 41 42 // 接触対象はPlayerタグですか? 43 if (hit.gameObject.tag == "Player") 44 { 45 canhokaku = false; 46 Debug.Log(canhokaku); 47 } 48 49 } 50 51 52 53} 54

GameController

C#

1using System.Collections; 2using System.Collections.Generic; 3using UnityEngine; 4using UnityEngine.UI; 5 6public class GameController : MonoBehaviour 7{ 8 public GameObject ButtonHokaku; 9 10 public bool canhokaku; 11 12 13 14 public OniController OniControllerScript; 15 16 17 18 19 void Start() 20 { 21 //プレイヤーの取得 22 Oni.AddRange(GameObject.FindGameObjectsWithTag("Oni")) 23 24 canhokaku = PoliceControllerScript.HOKAKU; 25 26 } 27 28 29 void Update() 30 { 31 if (canhokaku) 32 { 33 ButtonHokaku.SetActive(true); 34 35 } 36 } 37 38 39 40 } 41 42 43 44 45 46 47 48 49 50 51 52 53} 54 55

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

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

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

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

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

guest

回答1

0

急に出てきたPoliceControllerScriptは何者なんでしょうか

cs

1 void Start() 2 { 3 //プレイヤーの取得 4 Oni.AddRange(GameObject.FindGameObjectsWithTag("Oni")) 5 6 canhokaku = PoliceControllerScript.HOKAKU; // ★ OniControllerの間違い? 7 8 }

あとは、このままだとStartのときだけしか値取ってきてない気がするので仮にするならこんな感じで動いたりしますかね?

cs

1 void Update() 2 { 3 if (OniController.CANHOKAKU) 4 { 5 ButtonHokaku.SetActive(true); 6 7 } 8 }

投稿2020/04/28 07:09

編集2020/04/28 07:10
hogefugapiyo

総合スコア3302

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

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

hikaaaaaaaa

2020/04/28 07:38

hogefugapiyo様 コメントありがとうございます。PoliceControllerScriptはOniの間違いです。 また、Update内での実装を行なった際も NullReferenceException: Object reference not set to an instance of an object と出てしまいます。
hikaaaaaaaa

2020/04/28 07:40

nullの部分はif (OniController.CANHOKAKU)の部分が出てしまいます。
hogefugapiyo

2020/04/28 09:00

構文エラーは出てない感じですか? では、OniControllerの参照は取れてますか? Debug.Log(OniController); で、ちゃんと参照がとれてるでしょうか?
退会済みユーザー

退会済みユーザー

2020/04/28 09:32

if (OniControllerScript.CANHOKAKU)じゃないですか?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問