模拟的的思路是,用鼠标点击屏幕,然后实例化一个预制体,利用刚体组件使它有个向前发射的效果,将生成的物体写入一个数组,当物体数量达到五个的时候,销毁数组中下标为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 initializationvoid Start () {//初始化数组objBall = new List<GameObject>();}// Update is called once per framevoid 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

大家多多指导

用unity做一个发射子弹的模拟相关推荐

  1. Unity射击游戏发射子弹的方法和提升流畅性的小技巧

    引言 在某些射击游戏里(2D和3D都适用),可能你需要创建子弹,第一想到的可能是新建一个发射子弹的脚本,就叫BulletController,然后每次按下什么键就直接上Instantiate函数. 伪 ...

  2. Ruby‘s Adventrue游戏制作笔记(十一)Unity角色攻击——发射子弹

    Ruby's Adventrue游戏制作笔记(十一)Unity角色攻击--发射子弹 前言 一.编辑子弹 二.创建脚本 三.修改玩家攻击脚本 四.将子弹拖入玩家脚本 五.让子弹碰撞到该碰撞的东西 六.编 ...

  3. 零基础Unity做一个中秋诗词鉴赏网页,提前祝您中秋快乐!(DoTween动画 | WebGL视频 | 大文件上传GitHub)

    零基础Unity做一个中秋诗词鉴赏网页,提前祝您中秋快乐! 前言 一,环境搭建 1.1 安装Unity 1.2 添加WebGl模块 二,开发项目 2.1 导入插件 2.2 项目搭建 2.3 逻辑处理 ...

  4. Unity做一个太阳系

    Unity做一个太阳系(适合初学者学习) 步骤 1.新建Unity项目(我用的unity2019) 2.在assets中建script文件夹,material文件夹. 2.创造9个sphere物体:太 ...

  5. unity做一个小游戏(适合零基础或者巩固加深unity中的工具类的用法)

    今天跟着官方unity做了一个小游戏.巩固一下之前学习的unity的知识.注意unity的版本要在2018.3以上 大概游戏是这样子的如图:人物只能控制左右移动,空格发射饼干,动物从屏幕上方随机出现在 ...

  6. 用Unity做一个小Demo入门Unity

    文章目录 前言 个人介绍 一.准备工作 1. unity下载安装 2. 个人许可证激活 3. 素材下载 二.项目准备 1. 项目创建 2. 素材导入 三.开始项目 1. 将素材变为精灵 2. 将精灵放 ...

  7. 使用Unity做一个艺术字系统

    为了熟悉CaptureScreen方法,做一个艺术字系统. 首先声明一个公共变量toward,以便在书脚本Cature_Use中调用,然后给另一个变量delays赋予一个随机值,以便每个小球的运动显得 ...

  8. 我们来用Unity做一个局域网游戏(下)

    大家好,我又来了. 废话不多说,咱们赶紧的,接着上一篇文章把这个联网项目搞完. 客户端发送消息 然后在NetworkClient中提供发送消息的方法,发送消息使用消息队列的机制(就是把给发送的消息放进 ...

  9. 用Unity做一个萌萌哒游戏(附资源)

    这第一期是个考反应的游戏,看看效果图便能瞬间明白主要玩法: 首先需要准备游戏素材.对喜欢亲自动(zhe)手(teng)的我来说不是个事儿,我使用了PhotoShop+数位板自行绘制.没有数位板的同学只 ...

最新文章

  1. 记住,永远不要在MySQL中使用“utf8”
  2. linux修改arena大小,教大家Resolume Arena怎么设置大屏幕的方法
  3. IP修改器的作用以及用途
  4. 2018年最后一个月最值得关注的13个优质公号
  5. java基本要点_java代码的基本要点
  6. Golang groupcache LRU 缓存简介与用法
  7. android 图片处理器-包括反转、浮雕、锐化、轮廓提取功能
  8. 再谈软件研发管理体系建设
  9. 应用comsol模拟水力压裂应力分布
  10. 如何在虚拟机中安装操作系统???
  11. homelede软路由设置方法_小米路由器3 5G WiFi设置方法
  12. Java 安装+环境配置(图文详解)
  13. 什么是云服务举例说明_什么叫云服务举例说明(云服务器实例是什么)
  14. Mybatis批量update修改实例
  15. 7.1 RAID(独立冗余磁盘阵列)
  16. The.Strain血族
  17. php和mysql入门
  18. android 阅读器自动滚动,Android编程实现小说阅读器滑动效果的方法
  19. Redis学习之基础知识
  20. 马云称双11对阿里没什么意义;Python成为GitHub第二流行的语言;​华为首款可折叠屏5G手机今日开售 | EA周报...

热门文章

  1. Linux下手动查杀木马过程
  2. 2023年自动化测试真有那么重要吗?内卷严重,测试技能水涨船高......
  3. 使用boost库时,无法打开libboost_regex-vc120-mt-1_55.lib
  4. 无刷直流电机介绍及单片机控制实例
  5. VC,PE和Hedge Fund
  6. APK反编译工具在ubuntu的安装及使用
  7. 常用的android开发框架有哪些
  8. Nginx之——Nginx+keepalived双机热备(主从模式)
  9. python画二维温度云图_python定制后处理云图
  10. pytorch实现mtcnn人脸检测算法