下のスプリクトにタイマーを入れて〇秒経たないとグレネードを投げれないようにしたいです
調べてもなかなかわかりませんどなたか教えてください
調べたサイト
自分が出来るところまで頑張ったコード(エラーが起きてしまいます)
using System.Collections; using System.Collections.Generic; using UnityEngine; public class ThrowGrenade : MonoBehaviour { public GameObject grenadePrefab; public AudioClip throwSound; public float throwSpeed; public int grenadeCount; void Update() { if (Input.GetKeyDown(KeyCode.Mouse0) && grenadeCount > 0) { grenadeCount -= 1; GameObject grenade = (GameObject)Instantiate(grenadePrefab, transform.position, Quaternion.identity); Rigidbody grenadeRb = grenade.GetComponent<Rigidbody>(); grenadeRb.AddForce(transform.forward * throwSpeed); AudioSource.PlayClipAtPoint(throwSound, Camera.main.transform.position); } } // ★★(追加) private float timeBetweenShot = 0.35f; private float timer; void Update() { // ★★(追加) // タイマーの時間を動かす timer += Time.deltaTime; // ★★(追加) // 条件を追加する。 if (Input.GetKeyDown(KeyCode.Space) && timer > timeBetweenShot) { // ★★(追加) // タイマーの時間を0に戻す。 timer = 0.0f; } } }
> 自分が出来るところまで頑張った
基礎の学習に手を付けず、質問を丸投げするのはがんばってもいないし学習とは言えません。
まずはC#の入門書からこなしましょう。
正しい方向性でがんばればわかるようになります。
回答1件
あなたの回答
tips
プレビュー