実現したいこと
スイッチをEキーで押して、ライトをつけたり消したりしたいです。
アニメーションでのやり方がよくわからなかったので、activeselfで分岐を作って、trueならボタンを押したときSetactiveでfalseに、falseならその逆、としたいです。
発生している問題・分からないこと
ついている状態→Eキーを一度押すと消える
(ここまでは想定どおりの挙動)
この後Eキーを押してもライトがつかず消えたままです。
エラーメッセージ
error
1エラーは出ていません。
該当のソースコード
C#
1using System.Collections; 2using System.Collections.Generic; 3using UnityEngine; 4 5public class LightSwitch : MonoBehaviour 6{ 7 public GameObject light; 8 9 void Update() 10 { 11 12 // もしライトがついていたらEキーを押して消す 13 if (light.activeSelf == true) 14 { 15 if (Input.GetKeyDown(KeyCode.E) ) 16 { 17 // ライトをノン・アクティブ状態にする・・・>ライトが消える 18 light.SetActive(false); 19 } 20 21 // ライトがついていない場合 22 else 23 { 24 if (Input.GetKeyDown(KeyCode.E) ) 25 { 26 // ライトをアクティブ状態にする・・・>ライトがつく 27 light.SetActive(true); 28 } 29 } 30 } 31 } 32}
試したこと・調べたこと
- teratailやGoogle等で検索した
- ソースコードを自分なりに変更した
- 知人に聞いた
- その他
上記の詳細・結果
activeSelfの分岐文は検索で見つけられたのですが、その後にさらに条件文を入れるかたちのものを見つけられませんでした。
補足
unityのバージョンは2022.3.14です。

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2024/04/24 13:13