Unity中對系統類進行擴展的方法

Unity擴展系統類,整合簡化代碼


本文提供全流程,中文翻譯。

Chinar 堅持將簡單的生活方式,帶給世人!

(擁有更好的閱讀體驗 —— 高分辨率用戶請根據需求調整網頁縮放比例)


Chinar —— 心分享、心創新!

助力快速完成 Unity 對系統類進行擴展,添加函數便於調用

爲新手節省寶貴的時間,避免採坑!


Chinar 教程效果:javascript



全文高清圖片,點擊便可放大觀看 (不少人居然不知道)


1

Come straight to the point —— 開門見山


新建一個腳本,名稱隨意html

類必須設爲靜態 Static ,函數一樣(這樣才能經過其餘類,直接訪問到擴展函數)java

形參爲 this + 須要擴展的類服務器

依照下列各式
舉個栗子黑白88函數

// ========================================================
// 描述:對系統類進行擴展,添加函數
// 做者:Chinar 
// 建立時間:2018-08-28 00:03:03
// 版 本:1.0
// ========================================================
using UnityEngine;


#region Chinar Icon

/*
##########################################################################################################################$
##########################################################################################################################$
##########################################################################################################################$
##########################################################################################################################$
##########################################################################################################################$
##########################################################################################################################$
##########################################################@$@#############################################################$ #######################################################&: :&##########################################################$
#####################################################| !########################################################$ ##################################################@; :@#####################################################$
################################################@;                   ;@###################################################$ ###############################################| |##################################################$
#############################################@: '&################################################$ ############################################$` .$###############################################$
###########################################%. .%##############################################$
##########################################$` `$#############################################$ #########################################&' '&############################################$
##########################$. :&#######! !#######&: .%#############################$
##########################&' |####&' '&####| '&#############################$
###########################%. :@##%. .%##@: .%##############################$ ############################&' ;##| |##; '&###############################$
##############################@:     `$#| |#&`     :@#################################$ ###################################@&&##%. |##&&@######################################$
################$:. '|@#$` `$#@|' .;$###################$ ###############!                                                                                       !##################$
###############&' '&##################$ ################%. %###################$
#################! !####################$ ##################! !#####################$
###################| |######################$
####################&' '&#######################$
######################| |#########################$ ########################! ;###########################$
##########################%. .|#############################$
############################@; ;@###############################$ ####################@; `$#$` `%#$` ;@#######################$
####################%. !#&' `;` `$#| .%#######################$
#############################%. '&#&' .%################################$ ###########################&' !#####! '&##############################$
##########################%. :@#$%%%$#@; .%#############################$
#########################| !###&' '&###! |############################$
##########################@; .|######&' '&######|. ;@#############################$
###############################$;` '!&##########&' '&##########&|' `;&##################################$
########################################################&' '&###########################################################$
########################################################&' '&###########################################################$
########################################################&' '&###########################################################$
########################################################&' '&###########################################################$
########################################################&' '&###########################################################$
########################################################&' '&###########################################################$
########################################################&' '&###########################################################$
#########################################################&$$$&############################################################$ ##########################################################@@@#############################################################$
####################&$$$$$&######&;`%###################&' '&###########################################################$
###############|. %#####$` !###################&' '&###########################################################$
#############; .|###############$` !#####################################################################################$
###########&' `$#################$` !#####################################################################################$
###########; '&##################$` :@########@: ;#########$` .|########| ;@#####@: `$#########$ ##########$` !###################$` ;########@: .%#######@: ;#######@: !####|. '&##############@: `$###$` :@#############$
##########$` |###################$` ;#########%. |#######@: ;#######! `$######$` !#######|. %###% .%##############$
###########; '&##################$` ;#########%. |#######@: ;#######; '&######&' !#####%. .%#####% %###% .%##############$
###########@: `$#################$` ;#########%. |#######@: ;#######; '&######&' !#####; :@######% %###% .%##############$
#############! !###############$` ;#########%. |#######@: ;#######; '&######&' !#####| .%######% %###% .%##############$
###############%` %#####$` ;#########%. |#######@: ;#######; '&######&' !######%. %###% .%##############$
##########################################################################################################################$
##########################################################################################################################$
##########################################################################################################################$
##########################################################################################################################$
##########################################################################################################################$
##########################################################################################################################$
*/
#endregion


/// <summary> /// 擴展Vector3
/// </summary> public static class Vctor3Ex { /// <summary>
    /// 調用 transform.position.GetVector2,可直接獲得 x,y 平面座標的信息,並對座標直接取整 /// </summary>
    /// <returns>二維座標</returns> public static Vector2 GetVector2(this Vector3 v) { int x = Mathf.RoundToInt(v.x); int y = Mathf.RoundToInt(v.y); return new Vector2(x, y); } /// <summary>
    /// 經過 gameobject.SetOff,可直接關閉當前遊戲對象 /// </summary>
    public static void SetOff(this GameObject go)
    {
        go.SetActive(false);
    }
}

2

Instruction and Test —— 說明與測試


此時,咱們經過 transform.position.GetVector2 就能夠調用到擴展後的函數測試

gameobject.SetOff 就能夠調用到擴展後的函數
舉個栗子黑白88this

/// <summary>
    /// 每幀刷新
    /// </summary>
    void Update()
    {
        gameObject.SetOff();//是否是很方便,代碼很整潔呢!?
        Vector2 v = gameObject.transform.position.GetVector2();
    }

支持

May Be —— 搞開發,總有一天要作的事!


擁有本身的服務器,無需再找攻略!

Chinar 提供一站式教程,閉眼式建立!

爲新手節省寶貴時間,避免採坑!


先點擊領取 —— 阿里全產品優惠券 (享受最低優惠)


1 —— 雲服務器超全購買流程 (新手必備!)

2 —— 阿里ECS雲服務器自定義配置 - 購買教程(新手必備!)

3—— Windows 服務器配置、運行、建站一條龍 !

4 —— Linux 服務器配置、運行、建站一條龍 !spa





技術交流羣:806091680 ! Chinar 歡迎你的加入


END

本博客爲非營利性我的原創,除部分有明確署名的做品外,所刊登的全部做品的著做權均爲本人所擁有,本人保留全部法定權利。違者必究

對於須要複製、轉載、連接和傳播博客文章或內容的,請及時和本博主進行聯繫,留言,Email: ichinar@icloud.com

對於經本博主明確受權和許可以使用文章及內容的,使用時請註明文章或內容出處並註明網址
.net

相關文章
相關標籤/搜索