実現したいこと。
サンドボックスゲームを作っている際にカーソルのコライダーがぶつかっていないときに処理を行う必要が出ました。
コライダーに当たっているときは真を返し、当たっていないときには偽を返すようにしたいです。
当たっているときはOnTriggerStayでいいのですが、当たっているときの処理しか行うことができません。
OnCollisionStayの反対の動作をするようなコマンドは見つからなかったのですが、
当たっていないときに処理を行うためにはどうすればいいのでしょうか
###試したこと
Update内で偽にする命令を繰り返させ、ぶつかった時に真にするプログラムを組んでみたのですが。
案の定真にした直後に偽にする命令が来た時に間違った判定をしてしまいました。
ソースコードは次のようになっています。
C#
1private bool stay; 2void Update(){ 3 if(stay == false){ 4 //ここに処理を記入 5 } 6 stay = false; 7} 8 9private void OnCollisionStay(Collision collision) 10{ 11 stay = true; 12}
ツールのバージョン
Unity2018.2.7f1
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/09/20 21:11
2018/09/22 04:57