ボタンを押している間だけ、プレハブ生成の時間を短縮できるように、スクリプトを作成してみましょう。
マウスの左ボタンを長押しているときだけ、ボールの連射スピードが速まります。
関連記事:
ボタンを押した時間だけ飛距離アップ
ボタンを押している間だけ転がりをストップ
マウスを押した時間だけオブジェクトを拡大
時間が経つほど間隔を短くする
キー長押しでゆっくり数を変化させる
マウス長押しで降下させて離せば引き上げる
クリック長押しで連射スピードアップ
Sphereを作成して、リジッドボディを追加。
Sphereをプロジェクトビューにドラッグ&ドロップして、プレハブ化します。
Sphereの元データを削除しておきましょう。
空のオブジェクトを作成。
BallDrop.csを作成し、GameObjectに追加します。
BallDrop.csを記述します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
using System.Collections; using System.Collections.Generic; using UnityEngine; public class BallDrop : MonoBehaviour { public GameObject prefab; private float time; void Start() { time = 0; } void Update() { time -= Time.deltaTime; if(time <= 0.0f) { if (Input.GetMouseButton(0)) { Instantiate(prefab, this.transform.position, Quaternion.identity); time = 0.3f; } else { Instantiate(prefab, this.transform.position, Quaternion.identity); time = 1.0f; } } } } |
プレハブのフィールドに、Sphereを入れます。
ゲームプレイしてみましょう。
1秒おきにボールが現れますが、マウスを長押しすれば、0.3秒おきに出現します。
関連記事:
ボタンを押した時間だけ飛距離アップ
ボタンを押している間だけ転がりをストップ
マウスを押した時間だけオブジェクトを拡大
時間が経つほど間隔を短くする
キー長押しでゆっくり数を変化させる
マウス長押しで降下させて離せば引き上げる