2016-8-7 Unity学习笔记四(常用方法)续
来源:互联网 发布:plc三维动画仿真软件 编辑:程序博客网 时间:2024/04/29 17:57
一下内容学习自极客学院
SendMessag
SendMessag() 消息的推送
在工程内任意地方使用,用于向某些引用传递消息,直接执行某写函数。(= =)
BroadcastMessage() 向子物体消息的推送
意思是GameObject中的所有子物体执行括号中方法
使用方法:
GameObject.Find(“something”).BroadcastMessage(“fun”,value1,SendMessageOption.DontRequireReceiver);
最后的那个Send…指的是,即使我们所指定的对象没有fun函数,也会进行下去(不会报错);如果没有该参数,则当我们执行了不存在的方法时,报错。
Invoke()延迟执行程序
Invoke()延迟执行程序
使用方法:Invoke(“function”,2f);
刚才的使用方法的意思为 在2秒之后执行 function方法,其中function为方法名称,第二个参数为float类型(Unity好多float,,,)
InvokeRepeating()重复并延迟执行程序
使用方法:InvokeRepeating(“function”,2f,1f);其中第二个参数为两次function执行之间的间隔
#同时,我们需要使用 CancelInvoke()方法,对所有或者指定的Repeating进行取消,使用方法:CancelInvoke(“function”);
Coroutine()协同执行程序
目测会经常用的方法
*在主程序运行时,同时开启另一段逻辑处理,来协同当前程序的执行
*开启协同程序就是类似于开启一个线程
*但是 协成 并不是 线程
官网Coroutine实例
using UnityEngine;using System.Collections;public class ExampleClass : MonoBehaviour{ void Start(){ print("Starting " + Time.time); StartCoroutine(WaitAndPrint(2.0f)); print("Before WaitAndPrint Finishes " + Time.time); } IEnumerator WaitAndPrint(float waitTime){ yield return new WaitForSeconds(waitTime); print("WaitAndPrint " + Time.time); }}
其中的 Enumerator 和 yield return… 是作为Coroutine方法所必须的
yield 内容如果为 yield return null; 则代表挂起一帧,在下一帧重新被调用
如
/**********调用方法*********/public void OnMouseDown(){ StartCoroutine(testMove());}/**********方法体***********/Enumerator testMove(){ for(int i = 0;i < 100;i++){ this.transform.Translate(.1f,0f,0f); yield return null; }}
这样,我们每一帧都会向上 translate .1f 的距离,直到 100
#我们可以使用 Coroutine 来执行相对吃内存并且只需要很少调用的程序,比如地图的加载等等吃系统配置的操作。如果不使用 Coroutine 的话,我们则需要将当前操作完成之后可以进行下一步。
- 2016-8-7 Unity学习笔记四(常用方法)续
- 2016-8-5 Unity学习笔记三(常用方法)
- Unity学习笔记(四)----Survival Shooter
- 小白学《神经网络与深度学习》笔记之四-深度学习的常用方法(1)
- 小白学《神经网络与深度学习》笔记之四-深度学习的常用方法(2)
- 小白学《神经网络与深度学习》笔记之四-深度学习的常用方法(3)
- MySQL学习笔记(四)--常用函数
- 【Unity 3D】学习笔记四:Toolbar控件(工具栏)
- Unity3D 学习笔记(四) Unity连接MySQL数据库
- 【Unity Shader学习笔记】(四)绘制Julia奇幻图形
- 学习ExtJS(四) Panel常用方法
- Hibernate学习笔记(四)----核心开发接口、对象的三种状态、session常用方法
- Java学习笔记之常用方法类(四)DecimalFormat类、Pattern与Match类
- Unity学习笔记四 - Survival Shooter Tutorial
- Unity shader学习笔记 (四) 分解Shader
- 【Unity 3D】学习笔记二十四:unity游戏脚本(四)
- unity shader学习笔记(四)——Unity中的基础纹理之单张纹理
- Unity入门笔记-常用方法记录
- netty
- MySQL存储引擎与索引
- 闭包的两种经典用法(新手级)
- SQL注入
- 如何将mysql 5.6转换成percona 5.6之二
- 2016-8-7 Unity学习笔记四(常用方法)续
- LeetCode 59 Spiral Matrix II(螺旋矩阵II)(Array)
- 大话设计模式学习笔记---开放-封闭原则
- JS正则表达式
- 序列化
- 决策树
- Intellij IDEA的基本使用
- HDU 1851 A Simple Game
- Git 将远程数据拷贝到本地的具体实现(08)