脚本前面没有勾号,是因为脚本里面没有update方法。
脚本前面没有勾号,是因为脚本里面没有update方法。
Component获取的Tag可以直接获取,和gameobject的Tag是一样的
1.print (等同于Debug.log) 只能在MonoBehaviour中调用 Debug.log是可在所有地方调用
2.isActiveAndEnabled 判断组件是否激活
3.组件通过enabled来设置组件的激活和禁用,而物体是setActive。
4.组件标签获取的是物体标签
5.gameObject 获取到组件所在游戏物体
MonoBehaviour里面的常用变量
isActiveAndEnabled:判断组件是否被激活
EnAble:设置是否激活(值为True或False)
tag:获取组件所在的游戏物体的标签
gameObject:获取组件所在的游戏物体
name:获取游戏物体的名字
print:输出游戏日志,必须在MonoBehaviour里面调用
public class MonoBehaviourCS : MonoBehaviour {
public Cube cube;
// Use this for initialization
void Start () {
Debug.Log(this.isActiveAndEnabled);//判断组件是否被激活
Debug.Log(this.enabled);//设置是否激活(值为True或False)
enabled = false;
Debug.Log(name);
Debug.Log(tag);//获取组件所在的游戏物体的标签
Debug.Log(gameObject);//获取组件所在的游戏物体
Debug.Log(transform);
print("aaaa");
Debug.Log(cube.isActiveAndEnabled);
Debug.Log(cube.enabled);
cube.enabled = false;
Debug.Log(cube.name);
Debug.Log(cube.tag);
Debug.Log(cube.gameObject);
Debug.Log(cube.transform);
}
1、
DeBug.Log可以在任意地方调用
print 只能在MonBehaviour中调用
isActiveAndEnabeld
禁用脚本禁用的是update方法
MonoBehaviour里面的常用变量
有例子,在Scripting API里面
print 静态的。MonoBehaviour
查看组件是否激活,isActiveAndEnabled
设置 enabled = T/F
tag
gameobject
transform
name
当前表示this.
开两个inspecotr 进行赋值cao'zuo
游戏物体
isActiveAndEnabled:判断组件是否被禁用或激活;(true或false)
enabled:(true/false)设置组件禁用和激活;
tag:标签;
gameObject:获取组件所在的游戏物体;
transform:获取这个组件所在游戏物体的tarnsform组件;
name:获取游戏物体的名字;
MonoBehaviour
静态方法 Static Functions
成员
name
enabled=true/false
tag
gameObject
transform
isActiveAndEnabled
1.创建游戏物体f的三种方法
new GameObject();括号里可以添加想要创建的物体类型例如
new GameObject("Cube");创建出一个正方体
GameObject.Instantiate();
实例化Prefabs或实例化游戏物体
GameObject.CreatePrimitive();
创建原始图形如:.GameObject.CreatePrimitive(PrimitiveType.Cube);
2.通过代码给游戏物体添加组件
private GameObject object;
object.AddComponent<Rigidbody>();
通过代码给游戏物体j添加脚本
object.AddComponent<脚本名>();
3.GameObject游戏物体的常用类
GameObject.activeInHierarchy 物体是否处于激活状态(包括自身及子物体)
4.UnityEngine下Object的静态方法
Object.Destroy:
Destroy(gameobject,time);
Object.DontDestroyOnLoad:
DontDestroyOnLoad(transform.gameObject);(在进行场景之间转换时不会被销毁,会被带到下一个场景中)
Object.FindObjectOfType:
Object a =FindObjectOfType(typeof(组件名))
Rigidbody a=FindObjectOfType<Rigidbody>();
只返回第一个被检测到含有此组件的物体。不查找未激活的游戏物体
Object.FindObjectsOfType:
Object a =FindObjectsOfType(typeof(组件名))
Rigidbody a=FindObjectsOfType<Rigidbody>();
将检测到的所有的含有此组件的物体都存在数组中。不查找未激活的游戏物体
5.查找方法
Find(比较耗费性能)
FindGameObjectsWithTag返回所有是次标签的物体返回数组
FindWithTag只返回第一个检测到的物体。
6.游戏物体间消息的发送和接收
GameObject.BroadcastMessage();包括其自身及其子物体
GameObject.SendMessage(); 不包括子物体
GameObject.SendMessageUpwards();包括其自身及其父物体
7.得到组件的各种方法函数
GetComponent;只会得到在游戏物体身上的第一个检测到的组件
GetComponent;会得到物体上所有的组件
GetComponentInChildren;会得到其自身及其子物体身上第一个检测到的相应的组件
GetComponentInParent;会得到其自身及其父物体身上第一个检测到的相应的组件
GetComponentsInChildren;会得到其自身及其子物体身上所有检测到的相应的组件
GetComponentsInParent;会得到其自身及其父物体身上所有检测到的相应的组件
8.Public Functions
Invoke;
Public void Invoke(string methodName,float time );可延时调用方法
CancelInvoke;取消所有调用的方法(仅适用于当前脚本,不影响其他脚本中相同方法的调用)
InvokeRepeating;重复调用方法
IsInvoking;