前提・実現したいこと
unity初心者です。様々な記事を参考にしながら音ゲーを作っています。
タイトルのゲームスタートのボタンを押すとtimerが作動し、一定時間を超えるとgoalという名のオブジェクトが生成されるようにしたいです。具体的にはboolを使ってボタンを押すとtrueからflaseに切り替わり、timerが作動するというようにコードを書いてみたのですが時間を超えてもオブジェクトが生成されず、困っています。
最初から生成しておいて、終了時間に合わせて移動させることも少し考えましたがゲームスタートを押さなければタイトル画面から動かないというようにしたいので、できませんでした。
発生している問題・エラーメッセージ
エラーはありません。
一定時間を過ぎても指定したオブジェクトが生成されない
該当のソースコード
using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; public class Goalscript : MonoBehaviour { public GameObject goal; float timer = 0; int interval = 3; public bool musicstart = true; // Start is called before the first frame update void Start() { } // Update is called once per frame void Update() { } public void GameStart() { musicstart = !musicstart; if (musicstart == false) { timer += Time.deltaTime; if (timer >= interval) { Instantiate(goal, new Vector3(35f, 7, 17), transform.rotation); timer = 0; } } } }
試したこと
ボタンのon clickにGameStartをアタッチして、実際に実行しましたがオブジェクトは生成されませんでした。
musicstart == falseなど書かずtimer += Time.deltaTimeからしたの部分をvoid Update()に書いてみたところ普通にオブジェクトは生成されました。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/10/08 13:54