转自:

http://blog.csdn.net/zooen2011/article/details/12694739

比如有以下场景,飞机发射子弹,这个子弹就是被创建的对象

C#程序中创建对象

习惯C#的都知道,我们使用一个new就可以创建一个类、结构,称之为对象。

Hero hero=new Hero();


U3D中创建对象

创建对象是要用静态函数

publicstatic Object Instantiate(Object original,Vector3position,Quaternionrotation);

第一个参数:要创建的对象,第二个参数:要创建的对象的坐标,第三个参数:

-----------------------------------------------------------------------------------------------

实际应用中,子弹是被大量创建的,因此需要将子弹对象创建一个Prefabs(预设、我理解为克隆体、影子),而不用重新创建一个新的子弹对象,节省系统资源

下面展示一个玩家控制的飞机发射子弹的控制代码:

Hero.cs

void Start () { //省略部分代码 }

void Update () {

//省略部分代码

CreateRocket();

}

publicTransform obj_rocket;//子弹已经通过预设创建好了,将其联到主角,从Project视图拖拽绑定到游戏主角脚本

void CreateRocket()

{

//创建子弹的时间间隔

r_shootInterval -=Time.deltaTime;

if (r_shootInterval<=0)

{

r_shootInterval = 0.3f;

//按下空格键或鼠标左键

if (Input.GetKey(KeyCode.Space) ||Input.GetMouseButtonDown(0))

{

//子弹是从主角身上发出的,所以借用主角目前的坐标位置

Instantiate(obj_rocket,m_transform.position,m_transform.rotation);

}

}

}

转载于:https://my.oschina.net/liangzhenghui/blog/186655

Unity3D:创建对象相关推荐

  1. 【初阶】unity3d官方案例_太空射击SpacingShooter 学习笔记 显示分数时,如何让函数之间相互交流...

    [初阶]unity3d官方案例_太空射击SpacingShooter 学习笔记 显示分数时,如何让函数之间相互交流 一.关于 显示分数时,如何让函数之间相互交流 这是一个非常好的逻辑问题 1 思路:主 ...

  2. Unity3D为何能跨平台?聊聊CIL(MSIL)

    前言 其实小匹夫在U3D的开发中一直对U3D的跨平台能力很好奇.到底是什么原理使得U3D可以跨平台呢?后来发现了Mono的作用,并进一步了解到了CIL的存在.所以,作为一个对Unity3D跨平台能力感 ...

  3. Unity3d资源反编译. AssetBundle格式简析+简单应用+爬坑

    ===================  Unity3d资源反编译工具 DisUnity ================ 源码:https://github.com/ata4/disunity 需要 ...

  4. Unity3D学习笔记(一):Unity简介、游戏物体、组件和生命周期函数

    Project(工程.项目):工程是把游戏开发当前所需要的资源归类管理用的. Console控制台:日志.报错.调试,右上角,消息过滤 Assets:资源,存储游戏中一切用到的资源 Library:临 ...

  5. Unity3d AndroidJNI两篇应用示例。羽化的文章。

    http://blog.csdn.net/libeifs/article/details/7110371 Unity Android平台AdMob应用 开发环境 Window7 Unity3D  3. ...

  6. Unity3D学习笔记(三、小球跑酷)

    源码:键盘方向键控制小球跑酷Unity3D源码 Unity3D学习从简单例子入门,后续将持续更新. 一.跑道建立 可通过材质球Rendering Mode : Transparent 和 Albedo ...

  7. Unity3D 内存优化(一)对象池

    一.定义: 关于U3D内存优化,一直是游戏开发者头疼的事情,由于在项目中我们会频繁地创建和销毁一些对象,例如:怪物模型或者是UI预设体,但是,部分对象在游戏中是会频繁出现的,例如战斗中的小怪物,假如每 ...

  8. Unity3D开发入门教程(四)——用Lua实现组件

    Python微信订餐小程序课程视频 https://edu.csdn.net/course/detail/36074 Python实战量化交易理财系统 https://edu.csdn.net/cou ...

  9. Unity3D游戏开发初探—4.开发一个“疯狂击箱子”游戏

    一.预备知识-对象的"生"与"死" (1)如何在游戏脚本程序中创建对象而不是一开始就创建好对象?->使用GameObject的静态方法:CreatePri ...

最新文章

  1. 一种用于360度全景视频超分的单帧多帧联合网络
  2. 【转】多线程Core Data
  3. 1t硬盘怎么分区最好_网友问题解答:?最简单的方法教你电脑硬盘怎么分区?
  4. 对比Compose 、kotlin、flutter 移动端跨平台的未来。
  5. 从 Nginx、Apache 工作原理看为什么 Nginx 比 Apache 高效!
  6. 黑客演化史:从20世纪60年代至今
  7. 1.几大开发模型区别与联系
  8. 工厂方法(FactoryMethod)模式
  9. 在weblogic上配置数据源
  10. python求解在给定递减数组中寻找两个数和等于定值,乘积最小
  11. DirectX 9 游戏汉化详解
  12. iOS从零开始,使用Swift:下一步去哪里
  13. java 解压rar_java 解压rar文件
  14. 乌镇世界互联网大会上,百度敲响了创新动能的“牛顿摆”
  15. Labview和三菱Q系列PLC通讯
  16. 海量数据,3行Python代码直接获取!
  17. iterator的用法及概念
  18. 软件工程详细设计师竞聘演讲稿
  19. element-ui 去掉谷歌浏览器el-input组件或input自动填充账号密码
  20. 机器学习11-聚类,孤立点判别

热门文章

  1. java多线程------实现Runnable接口创建多进程,实现资源共享
  2. poj-2231(Moo Volume) 递推
  3. nyoj-222 整数中的1
  4. JSP简单练习-一个简单的计数器
  5. Laravel中构造方法中不能写return!!!
  6. centos7安装golang
  7. poi控制简单的word
  8. poj2392 Space Elevator
  9. linux awk详解
  10. Matlab函数解释:colormap