标签:
为什么需要跟你的组件添加公共方法呢? 留一条后路嘛,万一你那天想起要给全部的组件添加一个方法. 此时我只能告诉你慢慢修改吧累死你
子组件:A ,父组件:B
继承方式: A -> B –> MonoBehaviour. 此时你在B中写入方法(简单吧)
using UnityEngine; using System.Collections; namespace MyNamespace { public class MyCompoment : MonoBehaviour { //公共方法 } }
using UnityEngine; using System.Collections; namespace MyNamespace { public class 组件名:MyCompoment { } }
1. B使用virtual,A使用override. 只会调用A的方法 (从多态角度是这样的但跟这个好像没什么关系,采用的是广播机制)
2. B不用virtual,A存在相同的方法. 只会调用A的方法 (A没找到的话,向父类继续寻找执行该方法)
3. GameObject.Find("MainCamera").SendMessage(“Z”),1个游戏物体有两个A组件,有两个Z方法. 使用SendMessage()按组件从上到下顺序查找,
如果找到Z方法并不会终止,继续往下面寻找然后执行全部的Z方法
GameObject类: (它是密封类不可被继承) 1个GameObject包含多个组件,包含多个子GameObject.是一种树形结构
标签:
原文地址:http://www.cnblogs.com/plateFace/p/4301943.html