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

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

詳細はこちら
C#

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

Unity3D

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

Unity

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

Q&A

1回答

1150閲覧

Unity SetActiveが反応してくれない

退会済みユーザー

退会済みユーザー

総合スコア0

C#

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

Unity3D

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

Unity

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

0グッド

0クリップ

投稿2019/10/01 06:30

編集2019/10/01 07:13

###SetActiveが反応してくれない

C#

1using System.Collections; 2using System.Collections.Generic; 3using UnityEngine; 4 5public class POS1 : MonoBehaviour 6{ 7 //変数を受け取るスクリプト 8 public movebar moveBAR; 9 public modelclickA modelClickA; 10 public modelclickB modelClickB; 11 public modelclickC modelClickC; 12 public modelclickD modelClickD; 13 14 15 //表示するボタン 16 public GameObject movetxt; 17 public GameObject menubar; 18 public GameObject POS; 19 20 21 //機能モデル 22 public GameObject anzy; 23 public GameObject anzaingo; 24 public GameObject koyohan; 25 public GameObject koyokun; 26 27 28 //動作させるanzai 29 public GameObject anzaione; 30 31 32 //動作させるkoyo 33 public GameObject koyoone; 34 35 36 37 public void Click() 38 { 39 //anzyppointの取得 40 int anzypoint; 41 anzypoint = moveBAR.Getanzypoint(); 42 43 44 //senpaipointの取得 45 int senpaipoint; 46 senpaipoint = moveBAR.Getsenpaipoint(); 47 48 49 //anisyuwarudaの取得 50 int anisyuwaruda; 51 anisyuwaruda = moveBAR.Getanisyuwaruda(); 52 53 54 //ruipointの取得 55 int ruipoint; 56 ruipoint = modelClickA.Getruipoint(); 57 58 59 //raianpointの取得 60 int raianpoint; 61 raianpoint = modelClickB.Getraianpoint(); 62 63 //kikopointの取得 64 int kikopoint; 65 kikopoint = modelClickC.Getkikopoint(); 66 67 68 //kinositapointの取得 69 int kinositapoint; 70 kinositapoint = modelClickD.Getkinositapoint(); 71 72 73 74 //anzaiのみ表示されていた場合 75 if (anzypoint == 1) 76 { 77 Instantiate(anzaione, new Vector3(-5f, -1.4f, 6.086083f), Quaternion.identity); 78 POS.SetActive(false); 79 anzy.SetActive(false); 80 menubar.SetActive(true); 81 } 82 83 84 //anzaiとanzansiが表示されていた場合 85 else if (anzypoint == 2) 86 { 87 if (ruipoint == 1) 88 { 89 Instantiate(anzaione, new Vector3(-2f, -1.691702f, 6.086083f), Quaternion.identity); 90 POS.SetActive(false); 91 anzy.SetActive(false); 92 movetxt.SetActive(true); 93 raianpoint = 3; 94 } 95 96 97 else if (raianpoint == 2) 98 { 99 Instantiate(anzaione, new Vector3(0f, -1.691702f, 6.086083f), Quaternion.identity); 100 POS.SetActive(false); 101 anzaingo.SetActive(false); 102 movetxt.SetActive(true); 103 ruipoint = 4; 104 } 105 106 107 else if (raianpoint == 3) 108 { 109 Instantiate(anzaione, new Vector3(0f, -1.691702f, 6.086083f), Quaternion.identity); 110 POS.SetActive(false); 111 anzaingo.SetActive(false); 112 movetxt.SetActive(false); 113 menubar.SetActive(true); 114 } 115 116 117 else if (ruipoint == 4) 118 { 119 Instantiate(anzaione, new Vector3(-2f, -1.691702f, 6.086083f), Quaternion.identity); 120 POS.SetActive(false); 121 anzy.SetActive(false); 122 movetxt.SetActive(false); 123 menubar.SetActive(true); 124 } 125 } 126 127 128 //koyoが表示されていた場合 129 else if (senpaipoint == 1) 130 { 131 Instantiate(koyoone, new Vector3(-2f, -1.691702f, 6.086083f), Quaternion.identity); 132 POS.SetActive(false); 133 koyohan.SetActive(false); 134 menubar.SetActive(true); 135 } 136 137 //koyoとkoyosanが表示されていた場合 138 else if (senpaipoint == 2) 139 { 140 if (kikopoint == 1) 141 { 142 Instantiate(koyoone, new Vector3(-2f, -1.691702f, 6.086083f), Quaternion.identity); 143 POS.SetActive(false); 144 koyohan.SetActive(false); 145 movetxt.SetActive(true); 146 kinositapoint = 3; 147 } 148 149 150 else if (kinositapoint == 2) 151 { 152 Instantiate(koyoone, new Vector3(-2f, -1.691702f, 6.086083f), Quaternion.identity); 153 POS.SetActive(false); 154 koyokun.SetActive(false); 155 movetxt.SetActive(true); 156 kikopoint = 4; 157 } 158 159 160 else if (kinositapoint == 3) 161 { 162 Instantiate(koyoone, new Vector3(0f, -1.691702f, 6.086083f), Quaternion.identity); 163 POS.SetActive(false); 164 koyokun.SetActive(false); 165 movetxt.SetActive(false); 166 menubar.SetActive(true); 167 } 168 169 170 else if (kikopoint == 4) 171 { 172 Instantiate(koyoone, new Vector3(0f, -1.691702f, 6.086083f), Quaternion.identity); 173 POS.SetActive(false); 174 koyohan.SetActive(false); 175 movetxt.SetActive(false); 176 menubar.SetActive(true); 177 } 178 } 179 180 181 //anzaiとkoyoが表示されていた場合 182 else if (anisyuwaruda == 1) 183 { 184 if (ruipoint == 1) 185 { 186 Instantiate(anzaione, new Vector3(-4f, -1.691702f, 6.086083f), Quaternion.identity); 187 POS.SetActive(false); 188 anzy.SetActive(false); 189 movetxt.SetActive(true); 190 kinositapoint = 3; 191 } 192 193 194 else if (kinositapoint == 2) 195 { 196 Instantiate(koyoone, new Vector3(-2f, -1.691702f, 6.086083f), Quaternion.identity); 197 POS.SetActive(false); 198 koyokun.SetActive(false); 199 movetxt.SetActive(true); 200 ruipoint = 4; 201 } 202 203 204 else if (kinositapoint == 3) 205 { 206 Instantiate(koyoone, new Vector3(0f, -1.691702f, 6.086083f), Quaternion.identity); 207 POS.SetActive(false); 208 koyokun.SetActive(false); 209 movetxt.SetActive(false); 210 menubar.SetActive(true); 211 } 212 213 214 else if (ruipoint == 4) 215 { 216 Instantiate(anzaione, new Vector3(0f, -1.691702f, 6.086083f), Quaternion.identity); 217 POS.SetActive(false); 218 anzy.SetActive(false); 219 movetxt.SetActive(false); 220 menubar.SetActive(true); 221 } 222 } 223 224 225 //koyoとanzansiが表示されていた場合 226 else if (anisyuwaruda == 2) 227 { 228 if (kikopoint == 1) 229 { 230 Instantiate(koyoone, new Vector3(-2f, -1.691702f, 6.086083f), Quaternion.identity); 231 POS.SetActive(false); 232 koyohan.SetActive(false); 233 movetxt.SetActive(true); 234 raianpoint = 3; 235 } 236 237 238 else if (raianpoint == 2) 239 { 240 Instantiate(anzaione, new Vector3(-2f, -1.691702f, 6.086083f), Quaternion.identity); 241 POS.SetActive(false); 242 anzaingo.SetActive(false); 243 movetxt.SetActive(true); 244 kikopoint = 4; 245 } 246 247 248 else if (raianpoint == 3) 249 いただきたいです。 250 Instantiate(anzaione, new Vector3(0f, -1.691702f, 6.086083f), Quaternion.identity); 251 POS.SetActive(false); 252 anzaingo.SetActive(false); 253 movetxt.SetActive(false); 254 menubar.SetActive(true); 255 } 256 257 258 else if (kikopoint == 4) 259 { 260 Instantiate(koyoone, new Vector3(0f, -1.691702f, 6.086083f), Quaternion.identity); 261 POS.SetActive(false); 262 koyohan.SetActive(false); 263 movetxt.SetActive(false); 264 menubar.SetActive(true); 265 } 266 } 267 } 268}

anzaiとanzansiが表示されている場合というところに注目していただきたいのですが、
このコードでraianpoint==3のときとruipoint==4のときの
Instantiateは反応するのですが、movetxtがmenubarがfalseになりません。
エラーが出ているわけでもなく原因がわからないので、どなたか分かりましたらご教授お願いいたします。

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

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

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

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

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

Hawn

2019/10/01 07:01 編集

movetxtはともかくmenubarは全てtrueにしているのでfalseにならないのは仕方無いのではないでしょうか。 まずは本当にそこの処理を通っているのかブレークポイントを置いて確認して下さい。 若しくはこれだけでは判別付かないので全部のコード記載して欲しいと思います。
退会済みユーザー

退会済みユーザー

2019/10/01 07:01

わかりました。 movebarは逆に表示させていのでtrueにしています。 情報の掲載不足でした。
Hawn

2019/10/01 08:37 編集

>movebarは逆に表示させていのでtrueにしています。 申し訳ないのですがmovebarの話はしていないのでどういう意味か判らないです >情報の掲載不足でした。 ありがとうございました。 ただ残念ながらこのクラスだけでは変数の変動や関数の呼び出し方が不明で処理の流れを追えない為、質問に答えられる人はいないかと思います。 やはり解決策はブレークポイントを"movetxt.SetActive"されている全ての箇所に配置して 1.本当にそこの処理を通っているのか 2.通った後に他の場所でtrueにされていないか 上記を確認をするのが最善・最速です。 失礼な質問かもしれませんがブレークポイントを使用したデバッグは可能でしょうか?
退会済みユーザー

退会済みユーザー

2019/10/01 08:44

もう一度コードを見直し、ブレークポイントなども細かく確認して 再度質問させていただきます。 ご意見ご指摘ありがとうございます。 大変参考になりました。
guest

回答1

0

"raianpoint==3"または"ruipoint==4"の処理には入っているという認識でよろしいでしょうか?
"ruipoint==1"と"raianpoint == 2"の処理に入ってしまっている、または"else if (anzypoint == 2)"の条件に合っていないというわけではないですよね?

投稿2019/10/01 07:05

cc_KH

総合スコア108

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

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

退会済みユーザー

退会済みユーザー

2019/10/01 07:10

anzypointが2のときの処理で、その中でさらに ruipointとraianpointを指定していって分岐して行くようになっています。
退会済みユーザー

退会済みユーザー

2019/10/01 07:15

ruipoint==3かraianpoint==4には必ず入っています。 そうなのですが、SetActiveが反応してくれないという感じです
cc_KH

2019/10/01 07:26

上のコメントの投稿前にコメントいただいたことに気づきませんでした。無視してください。 スクリプトが長いのでしっかり確認していませんが該当の処理を通ったあとに別の処理を通ってしまっているということはありませんか?
退会済みユーザー

退会済みユーザー

2019/10/01 08:42

返信ありがとうござます。 見直していたのですが私も混乱してきてしまいました。 コードを見直して再度質問させていただこうと思います。 Debug.logなども使いたいと思います
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問