Unity定时/重复调用方法_Invoke方法

本篇讲述如何在unity中定定时调用其他方法的Invoke方法,
通过这个方法可以实现更多定时功能。

(一)先来介绍本篇用到的两个方法:

(1)Invoke方法:

该方法继承自MonoBehaviour类,需要传入的参数依次为【方法的名字】和【时间值】。作用是在规定时间后调用传递进来的方法。

使用栗子:

Invoke("Delete",3);//在三秒后执行Delete方法
InvokeRepeating("Print",3,3);//在三秒后执行Print方法,并且每隔3秒重复执行一次

(2)Destory方法:

该方法继承自Object类,需要传入的参数为一个【引用对象】。作用是直接销毁传递进来的对象。

补充说明:
Destory方法其实可以自己传递时间值来采取定时/延时毁灭,
比如:Destroy(gameObject,3); 即3秒后毁灭gameObject。
本示例不使用这个操作是为了方便演示Invoke的效果。

(二)选取Destroy方法作为被调用的方法:

栗子1:物体自己毁灭
(1)创建脚本写入如下代码:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class Obj02Destory : MonoBehaviour
{//物体自己毁灭private void Awake()//Unity脚本生命周期首先执行的方法{Invoke("DeleteObj", 6);//方法描述:在6s之后调用DeleteObj方法}void Start(){}void Update(){}private void DeleteObj()//定义一个销毁Obj的方法可供Invoke方法调用{Destroy(gameObject);//销毁方法,gameObject是脚本的Component类的属性,可以将其理解为当前 组件或者脚本 附加的对象//以下为SetActive方法,同样能使物体消失,但并不是严格意义上的销毁//gameObject.SetActive(false);}
}

(2)在unity中创建一个物体,将脚本添加给需要毁灭的物体,点击运行即可实现效果。

栗子2:使用别的对象来控制毁灭
由于物体毁灭后,其本身的组件和脚本就失效了,有时候为了保留某些组件和脚本,可以用别的对象挂载脚本,来控制物体的毁灭。两者脚本的区别主要是销毁对象的引用不同。
(1)创建脚本写入如下代码:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class ObjObj01Destory : MonoBehaviour
{//使用别的对象来控制毁灭public GameObject obj;//在外部定义一个GameObject类的对象,这个对象用来被销毁private void Awake()//Unity脚本生命周期首先执行的方法{InvokeRepeating("DeleteObj", 3,3);//方法描述:在3s之后调用DeleteObj方法,并且每隔3秒重复一次//注意:重复毁灭一般用于毁灭大量物体或确保毁灭进行成功,本示例只给予了一个物体对象}void Start(){}void Update(){}private void DeleteObj(){Destroy(obj);//销毁方法,销毁对象obj//以下为SetActive方法,同样能使物体消失,但并不是严格意义上的销毁//obj.SetActive(false);}
}

(2)在unity中创建一个物体命名为Obj01,并再创建一个空物体命名为Obj01Destory,将脚本添加给Obj01Destory。

(3)将Obj01拖入Obj01Destory的脚本,实现对象引用,点击运行即可实现效果。

Unity定时重复调用方法--Invoke方法相关推荐

  1. 自定义标签(JspFragment类、invoke方法、开发带属性的标签)

    自定义标签(JspFragment类.invoke方法.开发带属性的标签) 一.JspFragment类 javax.servlet.jsp.tagext.JspFragment类是在JSP2.0中定 ...

  2. 动态代理模式newProxyInstance及invoke方法参数详解

    动态代理概述: Java提供的动态代理类Proxy: Proxy provides static methods for creating dynamic proxy classes and inst ...

  3. Unity延迟和重复调用方法

    延迟调用方法 Invoke(arg1,arg2) arg1 是延迟调用的字符串方法名,arg2是延迟多少时间调用arg1 方法. 重复调用方法 InvokeRepeating(arg1,arg2,ar ...

  4. Unity中Invoke方法

    Invoke() 方法是 Unity3D 的一种委托机制 如: Invoke("SendMsg", 5);   它的意思是:5 秒之后调用 SendMsg() 方法: 使用 Inv ...

  5. UNITY调用安桌方法出现 JNI: Init'd AndroidJavaClass with null ptr!

    UNITY调用安桌方法出现 JNI: Init'd AndroidJavaClass with null ptr! 原因是····· 得运行在一个真正的Android设备上! 得运行在一个真正的And ...

  6. InvocationHandler的invoke方法如何被调用?

    关键问题是它们内在的联系.虽然可以看源代码,包括类库.但是把它们抽象出来,有助于理解. 在客户类(即以下代码的Client类),语句Manager managerProxy =   (Manager) ...

  7. java为何重复调用方法_通过反射调用Java中的getter:重复调用它的最快方法是什么(在性能和可伸缩性方面)?...

    小编典典 您可以使用MethodHandle.其Javadoc写道: 使用Lookup API中的工厂方法,可以将Core Reflection API对象表示的任何类成员转换为行为等效的方法句柄.例 ...

  8. invoke方法_JVM是如何执行方法调用的?

    前不久在写代码的时候,我不小心踩到一个可变长参数的坑.你或许已经猜到了,它正是可变长参数方法的重载造成的. 我把踩坑的过程放在了文稿里,你可以点击查看. void invoke(Object obj, ...

  9. 【Unity3D】Android Studio 工程中使用 Java 代码调用 Unity 的 C# 脚本 ( Java 中调用 UnityPlayer#UnitySendMessage 方法 )

    文章目录 一. Java 调用 C# 依赖库准备 1.依赖库位置 2.unityLibrary 依赖库位置 二. Java 调用 C# 的 UnityPlayer#UnitySendMessage 方 ...

最新文章

  1. Golang实现requests库
  2. 自然语言处理(四)统计机器翻译SMT
  3. 【JEECG-Mybatis版本】springmvc+mybatis+代码生成器(代码一键生成)
  4. MySQL5.6 部署MHA
  5. Bailian4040 买书问题【Ad Hoc】
  6. Linux shell (一)
  7. 【HDU-5246】超级赛亚ACMer(贪心)
  8. unity newtonsoft 反序列化报空_基于Unity3D的大地形研究(2):资源序列化与材质加载...
  9. CSS font-family 属性值大全
  10. 乱世王者服务器维护,乱世王者微信534区仰不愧天开服时间表_乱世王者新区开服预告_第一手游网手游开服表...
  11. r语言ggplot2误差棒图快速指南
  12. 【实战】深度学习构建人脸面部表情识别系统
  13. 硬实时RTLinux安装配置详解 (二):编译运行RTLinux
  14. 概率论计算圆周率(π)
  15. 元宇宙时代NFT的价值衡量
  16. 百度SEO站群彩虹网盘外链程序源码V5.1|网盘外链源码
  17. ubuntu中安装vmware tools 时候出现unable to create the directory
  18. 计算机考试操作题怎么做,计算机考试操作题的做法.doc
  19. 基于STM32的0.96寸OLED显示屏显示数据和滚动显示
  20. 利用JVM在线调试工具排查线上问题(超实用)

热门文章

  1. 教学目标四个维度_【智慧】育人目标导向的跨学科课程设计
  2. ArcGIS教程 - 附录:城市规划制图图例(AutoCAD2016)
  3. android安装过程图片,Android的数字证书安装过程概述
  4. 条件判断————7.整倍数
  5. 大数据聚类算法性能比较及实验报告
  6. 基础排序算法----归并排序
  7. android应用开发-从设计到实现 3-9 Origami动态原型设计
  8. 微信去除EMOJI表情
  9. EEGLAB数据分析:预处理与后续处理
  10. PostgreSQL 数据恢复工具