您好,欢迎来到Unity之家!   unity.jb51.net 
  • 首 页
  • 你问我答
  • 当前位置:首页 > 学习培训 > Unity编程 >
    获取物件脚本、变数、名称
    时间:2015-03-21 08:57 来源:Unity之家 作者:unity.jb51.net 浏览:收藏 挑错 推荐 打印


    游戏中相当常使用的功能GetComponent,经常用来Get(取得)物件上的Component(组件)资讯,若没有取得组件会回传null值。


    gameObject.GetComponent(“ScriptName”);


    如果发现要抓取GetComponent上的值为大写可能就要注意一下原本的变数是否为小写如图1所示:

    TextMesh是3D Text上原本就包含的Component,可以发现到他所有变数都为大写,但使用上并不是这样。

    1.Unity会将开头的英文字元自动转换成大写。例如 text > Text。

    2.而驼峰式的命名法TextMesh会变成Text Mesh会让人误认为中间有空白字元



    获取物件脚本、变数、名称


    获取物件脚本、变数、名称



        var vaule:String;    
      var scriptName;    
      var getVaule:String; 
      
      function Start()
      {    
          vaule=“You See Me”;    
      }    
      
      function OnCollisionEnter(target : Collision)
      {
          //当进入碰撞    
          Debug.Log(“OnCollisionEnter”);    
          //取得target(撞到的目标)上的Script名称    
          scriptName=target.gameObject.GetComponent(“MySetComponent”);    
          Debug.Log(“Script Name: ”+scriptName);    
          //取得target(撞到的目标)上Script的值    
          getVaule=target.gameObject.GetComponent(“MySetComponent”).vaule;    
          Debug.Log(“Get Vaule: ”+getVaule);    
      }  
        
      function Update()
      {    
          if(transform.position.x<15)    
          transform.position+=Vector3.right*Time.deltaTime*5;    
      }



        var vaule:String;    
      function Start()
      {    
          vaule=“I Love EasyUnity !”;    
      }    
      
      function OnCollisionExit(target : Collision)
      { 
          //当离开碰撞    
          Debug.Log(“OnCollisionExit”);    
          //传送target(撞到的目标)上Script的值    
          target.gameObject.GetComponent(“MyGetComponent”).vaule=“EasyUnity”;    
          Debug.Log(“Target Vaule: ”+target.gameObject.GetComponent(“MyGetComponent”).vaule);    
      }

    结果:

    获取物件脚本、变数、名称


    (责任编辑:脚印)
    免责声明:Unity之家部分内容来源于互联网,如有侵权,请联系我们,本站将立即进行处理。
    标签:Unity之家