文档章节

创建和销毁物体

LIndieGS
 LIndieGS
发布于 2017/05/28 16:40
字数 304
阅读 36
收藏 0

原文链接:https://docs.unity3d.com/Manual/CreateDestroyObjects.html

    一些游戏场景中会保存有一定数量的物体,但是对角色,宝物和其他的物体在游戏过程中会被不断创建,和移除。在Unity中,一个GameObject能使用Instantiate函数来创建,它能创建一个现有物体的复制品。

public GameObject enemy;

void Start() {
    for (int i = 0; i < 5; i++) {
        Instantiate(enemy);
    }
}

    值得注意的是,那些复制品不用从场景中现有的物体来创建。更常用的方法是使用Prefab,从编辑器里的项目栏里中抓取一个到声明为public的变量里。同时,初始化一个GameObject ,会复制所有目前挂在它上面的Component。

    Destory()函数可以销毁一个物体,在一帧刷新结束之后或可以在一个短暂的延迟之后执行。

void OnCollisionEnter(Collision otherObj) {
    if (otherObj.gameObject.tag == "Missile") {
        Destroy(gameObject,.5f);
    }
}

    值得注意的是,Destroy函数可以单独销毁一个物体的组件而不影响物体本身。一个常见的错误地是写成下面这样:

Destroy(this);

     这只销毁那个调用它的脚本,而不会销毁这句话所在的脚本文件。

© 著作权归作者所有

共有 人打赏支持
LIndieGS
粉丝 0
博文 9
码字总数 6421
作品 0
程序员
私信 提问
Unity3D-对象池技术

什么是对象池 对象池定义:对象池就存放需要被反复调用资源的一个空间,当一个对象回大量生成的时候如果每次都销毁创建会很费时间,通过对象池把暂时不用的对象放到一个池中(也就是一个集合...

BoBoWang1991
2017/04/03
0
0
【UE4】蓝图中实现Projectile伤害、碰撞体伤害

先在人物基础类中写好 对应的属性(血量100,是否死亡这个布尔值,什么时候判定死亡) void ABaseCharacter::CalculateDead() {if (Health <= 0)isDead = true;elseisDead = false;} void AB...

typantk
03/23
0
0
Unity3D学习笔记(二)Unity的JavaScript基础

Update()每帧调用一次 LateUpdate()在Update()后执行 Awake()系统执行的第一个方法 Start()在Awake()之后,Update()之前 FixedUpdate()固定更新,可在Edit->Project Settings->Time中更改刷新...

qq570842253
2014/08/27
0
0
Unity3D中自带事件函数的执行顺序

在Unity3D脚本中,有几个Unity3D自带的事件函数按照预定的顺序执行作为脚本执行。其执行顺序如下: 编辑器(Editor) Reset:Reset函数被调用来初始化脚本属性当脚本第一次被附到对象上,并且...

qq_38150068
05/17
0
0
Unity重置Animator状态,重复播放同一个Animation

遇到问题 特效同事给的Animation更改了物体的很多属性,如Active,Alpha, Scale,Position等等,物体本身需要重复利用,因此使用对象池技术不直接销毁而是隐藏等需要时再显示,但是在隐藏后...

赵青青
10/31
0
0

没有更多内容

加载失败,请刷新页面

加载更多

windows上类似dnsmasq的软件Dual DHCP DNS Server

官网地址:http://dhcp-dns-server.sourceforge.net/官网定向的下载地址:https://sourceforge.net/projects/dhcp-dns-server/files/ 设置参考地址:http://blog.51cto.com/zhukeqiang/18264......

xueyuse0012
今天
3
0
LinkedHashMap源码解析

前言 HashMap中的元素时无序的,也就是说遍历HashMap的时候,顺序和放入的顺序是不一样的。 如果需要有序的Map,就可以采用LinkedHashMap. LinkedHashMap通过维护一个包含所有元素的双向链表,...

grace_233
今天
3
0
初识flask

文档 0.10.1版本 http://www.pythondoc.com/flask/index.html 1.0.2版本 https://dormousehole.readthedocs.io/en/latest/ 安装flask $ pip3 install flaskCollecting flask Downloading......

yimingkeji
昨天
5
0
Akka系统《sixteen》译

Actor是一个封装状态(state)和行为(behavior)的对象,它们只通过交换消息通信(放入收件人邮箱的邮件)。从某种意义上说,Actor是最严格的面向对象编程形式,但它更适合将他们视为人:在与Act...

woshixin
昨天
3
0
技术工坊|如何开发一款以太坊钱包(深圳)

【好消息!】HiBlock区块链技术工坊已经成功举办了26期,其中北京1期,西安1期,成都2期,上海22期。经常有社区的小伙伴问定期举办技术工坊的除了上海以外,其他城市有没有?现在区块链技术工...

HiBlock
昨天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部