加载中...

Unity3d---MonoBehavor类

基础方法

旋转角度

  • print(transform.rotation); //四元数
  • print(transform.eulerAngles);//三个值,这个才是inspector面板上的rotation的值

缩放

  • print(transform.localScale);
  • print(transform.lossyScale);

脚本是否激活

this.enable=false;

获取别的脚本对象 依附的gameobject

public test test01;
print(test01.gameObject.name);

重要方法

得到自己挂载的单个脚本(组件)

Test test=this.GetComponent<Test>();

关闭音乐

AudioSource au=GetComponent<AudioSource>();

au.top(),au.enabled=false,au.clip=null; 都可以关闭音乐
只要你能得到场景中别的对象或者对象依附的脚本
你就可以获取它的所有信息

得到自己挂载的多个脚本

  • 方法一
    AudioSource[] audios=this.GetComponents<AudioSource>();
  • 方法二
    List<AudioSource> list=new List<AudioSource>(); this.GetComponents<AudioSource>(list);
得到子对象挂载的脚本

默认也会找自己身上是否挂载该脚本
函数有一个参数 默认不传为false 意思为如果对象失活 是不会照这个对象是否有某个脚本
如果传true 即使失活也会找

  • 得到子对象 挂载的单个脚本
    AudioSource audio=this.GetComponentInChildren<AudioSource>(true);
  • 得到子对象 挂载的多个脚本
    AudioSource[] audio=this.GetComponentsInChildren<AudioSource>(true);//函数名多了一个s

另一种写法
List list2=new List();
this.GetComponentsInChildren(true,list2);

得到父对象挂在的脚本

默认也会找自己身上是否挂载该脚本

  • 得到父对象 挂载的单个脚本
    AudioSource audio=this.GetComponentInParent<AudioSource>(true);
  • 得到父对象 挂载的多个脚本
    AudioSource[] audio=this.GetComponentsInParent<AudioSource>(true);//函数名多了一个s

尝试获取脚本

提供一种更加安全 获取单个脚本的方法 如果得到会返回true
AudioSource aud;
if(this.TryGetComponent<AudioSource>(out aud)){//逻辑处理}

posted @ 2022-02-20 12:06  lxp_blog  阅读(44)  评论(0编辑  收藏  举报