[過去ログ] 【ゲームエンジン】Unityなんでも質問スレpart1 (1002レス)
上下前次1-新
抽出解除 レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
416(1): くまじょ [sage] 2020/07/15(水) 00:37:27.00 ID:oWaAeFT+(1/2) AAS
>>410410(3): 名前は開発中のものです。 [] 2020/07/14(火) 22:45:01.61 ID:HIbHpr+5(4/4) AAS
>>407
ありがとうございます
一つずつのボタンに関しては問題なくなったのですが、
複数ボタンを並べてて別な問題が起きてしまいました。
ボタンオブジェクトがA、Bの2つで、それぞれにスクリプトa、bをつけていて、
両方ともifのenableでUpdateのオンオフ切り替えをしています。
片方のUpdateがオンの状態で別のボタンを押したときに切り替わるように、
スクリプトaのOnClick内には
GameObject.Find("B").GetComponent<b>().enabled = false;
スクリプトbのOnClick内には
GameObject.Find("A").GetComponent<a>().enabled = false;
を書いています。
再生して、ボタンAを押してaのUpdateをオンにしたまま
ボタンBを押したとき、
一回目はbのUpdateがすんなりオンになるのですが、
交互に押す二回目以降は、ボタンAがオフになるだけで
bのUpdateがオンにならないのですが、
交互にボタンを押すたびにそれぞれが必ずオンオフになるようにするには
何が必要なのでしょうか。よろしくお願いします。
ところで
GameObject.Find("A").GetComponent<a>().enabled = false;
でスクリプトaを
enabledで止めなければいけないのはなぜ?
ちょっと気になったので
420: 名前は開発中のものです。 [] 2020/07/15(水) 13:34:25.10 ID:ZOScxdVu(1) AAS
>>416
aとbともにカメラの動きに関するもので両立はできないからです
>>418418(1): 名前は開発中のものです。 [sage] 2020/07/15(水) 00:48:03.74 ID:ltT1czGX(1) AAS
>>410
スクリプトのenabledを切り替えてUpdate関数が呼ばれるかどうかを制御することにしたんですね。
でしたらisCamera関連の記述は消すかコメントアウトしておいて、
public void OnClick()
{
enabled = true; //自分(スクリプト)を有効にする
GameObject.Find("B").GetComponent<b>().enabled = false;//もう一つのボタンのスクリプトを無効にする
}
これで動くと思います。
aのUpdateが動いてるときにボタンAを押したときにも止まるようにしたいので、
isCamera関連の記述は残したままいろいろ試したら、
OnClickの中で
GameObject.Find("B").GetComponent<b>().enabled = false;
GameObject.Find("B").GetComponent<b>().isClick = false;
GameObject.Find("B").GetComponent<b>().isCamera = false;
と、boolすべてfalseにすることで解決しました。
ありがとうございました。
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.032s