Unity中对系统类进行扩展的方法
Chinar 坚持将简单的生活方式,带给世人! (拥有更好的阅读体验 —— 高分辨率用户请根据需求调整网页缩放比例) |
助力快速完成 Unity 对系统类进行扩展,添加函数便于调用 为新手节省宝贵的时间,避免采坑! |
Chinar 教程效果:
1
Come straight to the point —— 开门见山
新建一个脚本,名称随意
类必须设为静态 Static ,函数同样(这样才能通过其他类,直接访问到扩展函数)
形参为 this + 需要扩展的类
依照下列各式
// ========================================================
// 描述:对系统类进行扩展,添加函数
// 作者: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
就可以调用到扩展后的函数
/// <summary>
/// 每帧刷新
/// </summary>
void Update()
{
gameObject.SetOff();//是不是很方便,代码很整洁呢!?
Vector2 v = gameObject.transform.position.GetVector2();
}
支持
May Be —— 搞开发,总有一天要做的事!
Chinar 提供一站式教程,闭眼式创建! 为新手节省宝贵时间,避免采坑! |
先点击领取 —— 阿里全产品优惠券 (享受最低优惠)
1 —— 云服务器超全购买流程 (新手必备!)
2 —— 阿里ECS云服务器自定义配置 - 购买教程(新手必备!)
3—— Windows 服务器配置、运行、建站一条龙 !
4 —— Linux 服务器配置、运行、建站一条龙 !
技术交流群:806091680 ! Chinar 欢迎你的加入
本博客为非营利性个人原创,除部分有明确署名的作品外,所刊登的所有作品的著作权均为本人所拥有,本人保留所有法定权利。违者必究
对于需要复制、转载、链接和传播博客文章或内容的,请及时和本博主进行联系,留言,Email: ichinar@icloud.com
对于经本博主明确授权和许可使用文章及内容的,使用时请注明文章或内容出处并注明网址