【Unity3D日常开发】生成预制体,并且预制体自动销毁
2023-09-11 14:19:57 时间
推荐阅读
一、前言
今天有粉丝问我一个很简单的问题,如何生成预制体,并且让预制体自动销毁。
这对老鸟来说应该是很简单的,但是对于新学习Unity的萌新来说,感觉各种困难。
比如说,生成的预制体不自动销毁,或者就是生成预制体的脚本被销毁了。
这其实就是因为,没有理清生成与销毁。
下面,我就演示一下如何生成预制体,并且销毁
二、效果图
三、教程开始
首先,新建一个脚本SpawnManager.cs,用来生成预制体,代码编辑如下:
using UnityEngine;
public class SpawnManager : MonoBehaviour
{
public GameObject Cube_Prefab;//Cube预制体
void Start()
{
//每2秒重复调用函数
InvokeRepeating("SpawnObj", 0, 2f);
}
//自动生成对象
private void SpawnObj()
{
//生成预制体
Instantiate(Cube_Prefab);
}
}
然后,制作预制体,首先新建一个Cube:
新建一个DestroyObj.cs脚本,然后挂载到这个Cube上:
编辑DestroyObj脚本:
using UnityEngine;
public class DestroyObj : MonoBehaviour
{
public float RotateSpeed = 50f;
public float DestroyTime = 5f;
void Start()
{
Destroy(gameObject, DestroyTime);
}
void Update()
{
transform.Rotate(Vector3.up * Time.deltaTime * RotateSpeed, Space.World);
}
}
将Cube从层级视图,拖到项目区,做成一个预制体:
将SpawnManager.cs脚本拖到Main Camera对象上,然后将项目区的预制体Cube,拖入对应的卡槽中:
然后删除场景中的Cube对象。
OK,前期工作做完了。
运行程序:
每2秒生成,每5秒自动销毁。
改成每1秒生成,每5秒自动销毁,效果:
这样就相当于,永远都有5个对象,但是这5个对象是不停的销毁生成中。
相关文章
- C# DateTime的11种构造函数 [Abp 源码分析]十五、自动审计记录 .Net 登陆的时候添加验证码 使用Topshelf开发Windows服务、记录日志 日常杂记——C#验证码 c#_生成图片式验证码 C# 利用SharpZipLib生成压缩包 Sql2012如何将远程服务器数据库及表、表结构、表数据导入本地数据库
- 【转】.NET(C#):浅谈程序集清单资源和RESX资源 关于单元测试的思考--Asp.Net Core单元测试最佳实践 封装自己的dapper lambda扩展-设计篇 编写自己的dapper lambda扩展-使用篇 正确理解CAP定理 Quartz.NET的使用(附源码) 整理自己的.net工具库 GC的前世与今生 Visual Studio Package 插件开发之自动生
- 持续集成 在 Linux 上搭建 Jenkins,自动构建接口测试
- 自动分析法的崛起
- 自动输入用户名和密码用于telnet的shell
- 【Python】自动发送邮件
- Python Scrapy 自动爬虫注意细节(3)
- 从零开始学android开发-自动产生getter and setter
- Axure 实现数字自动加键功能(点击“+”数字加1,点击“-”数字减1)
- Qt音视频开发36-超时检测和自动重连的设计
- 转 通过 spring 容器内建的 profile 功能实现开发环境、测试环境、生产环境配置自动切换
- DevEco Studio 代码自动跳转(HarmonyOS鸿蒙开发基础知识)
- 自动监测内存泄漏
- MindSpore中使用model.train,在每一步训练结束后自动进行调用自定义函数 —— from mindspore.train.callback import Callback
- 完美解决windows+ngnix+phpcgi自动退出的问题
- 利用Python自动在CDDIS上下载GNSS数据(观测值、广播星历,电离层格网数据)
- IOS开发之Bug--使用xib的自动布局和代码中修改遇到的bug
- IOS开发之自动布局--VFL语言