Unity3D 定时发射子弹

using UnityEngine;

public class example : MonoBehaviour
{
    public GameObject projectilePrefab;
    public float fireRate = 0.5F;//0.5秒实例化一个子弹
    private float nextFire = 0.0F;
    public float speed = 5f;//子弹速度

    private void Update()
    {
        if (Input.GetButton("Fire1") && Time.time > nextFire)
        {
            nextFire = Time.time + fireRate;
            Rigidbody clone = (Rigidbody)Instantiate(projectilePrefab, transform.position, transform.rotation);//实例化一个子弹预制,并转成刚体
            if (clone != null)
            {
                clone.velocity = transform.TransformDirection(Vector3.forward * speed);
            }
        }
    }
}

这样,敌人攻击时候就会0.5秒发射攻击一次了,而不会每帧都发射.

posted @ 2014-02-01 23:18  TouchAfflatus  阅读(3161)  评论(0编辑  收藏  举报