用unity做一个发射子弹的模拟

 模拟的的思路是,用鼠标点击屏幕,然后实例化一个预制体,利用刚体组件使它有个向前发射的效果,将生成的物体写入一个数组,当物体数量达到五个的时候,销毁数组中下标为0的预制体,同时将销毁物体从数组中移除。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Shoot : MonoBehaviour {
    //创建一个共有的游戏物体子弹
    public GameObject bullet;
    //速度的大小
    public float speed = 5f;
    //命名的一个数
    private int ballIndex=0;
    //定义一个数组(本数组可以增加长度)
    private List<GameObject>  objBall;
    


    // Use this for initialization
    void Start () {
        //初始化数组
        objBall = new List<GameObject>();
        



    }
	
	// Update is called once per frame
	void Update () {
        //如果输入鼠标左键
        
        if (Input.GetMouseButtonDown(0))
        {
            ballIndex++;
            //克隆一个物体,位置是所挂脚本物体的位置
          GameObject ball=  GameObject.Instantiate(bullet, transform.position, transform.rotation);
            //克隆物体的名字
            ball.name = "Ball" + ballIndex;
            //克隆物体加入数组
            objBall.Add(ball);
           
           
            Rigidbody rig = ball.GetComponent<Rigidbody>();
            //克隆物体的速度是所挂脚本向前的速度
            rig.velocity = transform.forward*speed;
            if(ballIndex>5){
                //销毁数组中下标为0的游戏物体
                Destroy(objBall[0]);
                //移除数组中已被销毁物体的 位置
                objBall.RemoveAt(0);
              //  return;
            }

        }

    }
}

工程文件链接:链接:https://pan.baidu.com/s/1fAFzYTeL2Sl3dQdV-Sovhg 密码:x6vy;;

软件版本:Unity 2017.3.1p2


大家多多指导

  • 7
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值