zoukankan      html  css  js  c++  java
  • Unity3D 之武器系统冷却功能的实现方式

    先上方法

    //如果Fire1按钮被按下(默认为ctrl),每0.5秒实例化一发子弹

    public GameObject projectile;
        public float fireRate = 0.5F;
        private float nextFire = 0.0F;
        void Update() {
            if (Input.GetButton("Fire1") && Time.time > nextFire) {
                nextFire = Time.time + fireRate;
                duck clone = Instantiate(projectile, transform.position, transform.rotation);
            }
        }

     还有一个简答的方法就是使用MonoBehaviour.InvokeRepeating 重复调用:

    在2S后,每隔0.5s进行子弹的实例化。

    using UnityEngine;
    using System.Collections;
    
    public class example : MonoBehaviour {
    public GameObject projectile;
        public void Awake() {
            InvokeRepeating("Weapon", 2, 0.5F);
        }
        
        void Weapon() {
                duck clone = Instantiate(projectile, transform.position, transform.rotation);
        }
        
    }
  • 相关阅读:
    LeetCode
    LeetCode
    LeetCode
    LeetCode
    LeetCode
    LeetCode
    LeetCode
    LeetCode
    LeetCode
    LeetCode
  • 原文地址:https://www.cnblogs.com/sunxun/p/5559273.html
Copyright © 2011-2022 走看看