日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

[Unity3D]Script 脚本所有编译器属性详解

發(fā)布時間:2025/4/16 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [Unity3D]Script 脚本所有编译器属性详解 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
Script屬性是基于IDE的一系列編譯器屬性
JS中用 @script?屬性方法() 訪問,c#中用 [屬性方法()] 訪問。
一共就只有9種屬性訪問方式:
  • AddComponentMenu????在Component菜單中添加新的菜單項
  • ContextMenu??????在當前腳本的組件中添加右鍵菜單內(nèi)容
  • ExecuteInEditMode????讓當前腳本可以在運行模式中實時更新修改
  • HideInInspector????????是變量在檢測時不被顯示,但是會被實例化?
  • NonSerialized???????標記一個變量不會被序列化?
  • RPC???????????
  • RenderBeforeQueues??附加一個自定義渲染?在整個引擎渲染隊列之前
  • RequireComponent???強制添加一個組件,(限定一定要有某個組件)
  • Serializable??????序列化一個類---------------------------------------------------------------------------------------------------------------------------------------------------------------
    AddComponentMenu
    用法:
    @script?AddComponentMenu?("Transform/Follow?Transform")
    class?FollowTransform?:?MonoBehaviour
    {
    }用處:

    可以自己開發(fā)組件類,在菜單里往GameObject里添加組件實例。
    ------------------------------------------------------------------------------------
    ContextMenu?
    用法:
    @ContextMenu?("Update?Waypoints")
    function?UpdateWaypoints()
    {
    }
    用處:

    使用當前腳本時候可以用右鍵菜單觸發(fā)開發(fā)環(huán)境中運行的函數(shù)
    ----------------------------------------------------------------------------------------
    ExecuteInEditMode?
    用法:
    @script?ExecuteInEditMode()用處:
    使當前腳本可以在運行中實時更新修改,每幀都會重新導入腳本,可以方便調(diào)試使用。
    ----------------------------------------------------------------------------------------
    HideInInspector?用法:
    @HideInInspector
    var?p?=?5;用處:
    是變量在檢測時不被顯示,但是會被實例化??
    具體用處不詳,猜測為在腳本外部變量設置的時候不會被顯示,但是會被作用到
    -------------------------------------------------------------------------------------------
    NonSerialized?
    用處:
    標記一個變量不會被序列化。
    具體用處不詳,我理解為不會被外部改變但是可以保持public狀態(tài)
    -------------------------------------------------------------------------------------------
    RPC??????????
    什么鬼東西-.-?RPC火箭筒?還是標記他用RPC協(xié)議傳輸?反正官網(wǎng)什么都沒寫。
    -------------------------------------------------------------------------------------------
    RenderBeforeQueues??
    用法:
    @RenderBeforeQueues(1000,?2000)
    function?OnRenderObject?(queue?:?int)?{
    //?do?some?custom?rendering...
    }用處:
    在引擎渲染之前添加一個自定義的渲染
    具體用法不詳,里頭能用什么東西渲染我也不清楚,還有那個參數(shù)我也沒搞明白,以后用到再說吧
    --------------------------------------------------------------------------------------------
    RequireComponent?
    用法:
    js:
    @Script?RequireComponent(Rigidbody)
    ?
    c#:
    [RequireComponent?(typeof?(Rigidbody))]
    用處:
    強制添加一個組件到這個object上,如果存在,則該組件不允許被刪除。
    -------------------------------------------------------------------------------------------
    Serializable??????
    用法:
    js繼承Object類默認就是會被序列化
    class?Test?extends?System.Object
    {
    var?p?=?5;
    var?c?=?Color.white;
    }
    var?test?=?Test?();

    //?C#?Example
    [System.Serializable]
    class?Test
    {
    public?int?p?=?5;
    public?Color?c?=?Color.white;
    }用處:
    將一個類序列化,(別告訴我不懂什么叫序列化,就是把一個類按一個格式枚舉,可以用于保存文件或者網(wǎng)絡傳輸,但是不知道U3d反序列化怎么辦-.-)
    --------------------------------------------------------------
    目前一些不懂的會在以后用到后再完善

總結(jié)

以上是生活随笔為你收集整理的[Unity3D]Script 脚本所有编译器属性详解的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。