[過去ログ] 【ゲームエンジン】Unityなんでも質問スレpart1 (1002レス)
上下前次1-新
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
400: 名前は開発中のものです。 [] 2020/07/14(火) 08:34:57.35 ID:HIbHpr+5(1/4) AAS
ボタンでカメラ自動移動のオンオフを切り替えたくて
public void OnClick()
{
if (!〜)
{
enabled = true;
}
if (〜)
{
enabled = false;
}
}
void Update()
{
カメラの移動
}
このようにしたところ、
何も映らなくなってしまい、このスクリプトをオフにすると映ります。
カメラそのものがenabledになってしまうということですかね。
Updateの中だけをオンオフ切り替えるにはどうしたらいいのでしょうか。
よろしくお願いします。
404(1): 名前は開発中のものです。 [] 2020/07/14(火) 15:33:05.05 ID:HIbHpr+5(2/4) AAS
>>401ありがとうございます。
bool isClick = false;
bool isCamera = false;
public void OnClick()
{
if (!isClick)
{
enabled = true;
isClick = true;
isCamera = true;
}
if (isClick)
{
enabled = false;
isClick = false;
isCamera = false;
}
}
void Update()
{
if (!isCamera) return;
カメラ移動
}
こうやったら、開始時はUpdate内が発動しないようにできたのですが、
ボタンをクリックしてもUpdate内が発動してくれません。
isClickとisCameraを統一してもダメでした。
このボタンに別のスクリプトをつけると、そっちは効きます。何がいけないのでしょうか。
408: 名前は開発中のものです。 [] 2020/07/14(火) 16:07:53.55 ID:HIbHpr+5(3/4) AAS
>>405405(2): 名前は開発中のものです。 [sage] 2020/07/14(火) 15:44:32.22 ID:ZhDupcXq(1) AAS
>>404
その書き方だとisCamera=trueにした瞬間falseになるから効いてないように見える
public void OnClick()
{
isCamera = !isCamera;
}
これで動くと思う
なんとか動きました!
ありがとうございました。
410(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がオンにならないのですが、
交互にボタンを押すたびにそれぞれが必ずオンオフになるようにするには
何が必要なのでしょうか。よろしくお願いします。
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.030s