Unity中对系统类进行扩展的方法
Unity扩展系统类,整合简化代码
本文提供全流程,中文翻译。 Chinar 坚持将简单的生活方式,带给世人! (拥有更好的阅读体验 —— 高分辨率用户请根据需求调整网页缩放比例) |
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 服务器配置、运行、建站一条龙 !
" role="presentation">
技术交流群:806091680 ! Chinar 欢迎你的加入
END
本博客为非营利性个人原创,除部分有明确署名的作品外,所刊登的所有作品的著作权均为本人所拥有,本人保留所有法定权利。违者必究
对于需要复制、转载、链接和传播博客文章或内容的,请及时和本博主进行联系,留言,Email: ichinar@icloud.com
对于经本博主明确授权和许可使用文章及内容的,使用时请注明文章或内容出处并注明网址
Unity中对系统类进行扩展的方法的更多相关文章
- Java中增强一个类的几种方法
今天有人问我怎么增强一个类的功能.博客刚好没东西,今天就讲讲增强类. 增强的手段有三种类型: 1.继承或者实现接口:特点是被增强对象不能变,增强的内容不能变. 2.装饰着模式:特点是被增强对象可变,但 ...
- C#派生类中使用基类protected成员的方法
我们知道C#中通过继承可以使一个具有公共数据和方法的基类被广泛应用从而减少代码量,这样派生类会具有基类中所有成员(除构造器等),我们理所当然可以通过派生类实例来使用基类的成员.那么当基类成员被prot ...
- Java中的Object类的几个方法
Object类被称为上帝类,也被称为祖宗类.在定义Java类时,如果没有指定父类,那么默认都会去继承Object类.配合Java的向上类型转换,借助Object类就可以完成很多工作了. 在Object ...
- 【原】iOS学习之NSDate在项目中的一些类目扩展
在项目中,我们可能会面对各种各样的对于时间的需求,在这里提供几种可能会用到的需求代码 1.与今天的时间做比较,返回日期差值 代码: - (NSInteger)compareWithToday { NS ...
- Unity中的Matrix4x4类
物体平移旋转一般变换底层都是用矩阵来表示的,一般不会用到这个类.有时候需要一些世界坐标与局部坐标转换的时候,可能就要用到了. //创建平移 旋转 缩放矩阵 可以理解为一个坐标系(不知道对不对..) M ...
- Linux系统中为php添加pcntl扩展的方法
1.首先看下 phpize命令 所在的目录 (ps:我的目录/usr/bin/phpize)如果没有找到的话 执行安装yum install php53_devel (ps:请注意自己的版本) 安装 ...
- Unity中的Mathf类
Mathf.Abs绝对值 计算并返回指定参数 f 绝对值. Mathf.Acos反余弦 static function Acos (f : float) : float 以弧度为单位计算并返回参数 f ...
- 关于Unity中NGUI图片精灵响应鼠标的方法
我在Unity里做NGUI的时候发现一个问题. 在Unity2D场景当中,一个精灵图片只要加上了Box Collider或者Box Collider2D,就可以相应OnMouseEnter和OnMou ...
- Javascript中,实现类与继承的方法和优缺点分析
Javascript是一种弱类型语言,不存在类的概念,但在js中可以模仿类似于JAVA中的类,实现类与继承 第一种方法:利用Javascript中的原型链 //首先定义一个父类 function An ...
随机推荐
- ASP.NET MVC Display Mode 移动端视图 配置对微信内置浏览器的识别
最近在捣鼓一个稍微有点low的商城网站,没有计划做app却要求有个wap版,而前端又没有做成响应式,时间WTF,直接利用了asp.net mvc的Display Mode Provider. 使用方式 ...
- python基础第一天 3.27
# #作业1# 猜年龄,可以让用户猜三次!age = 25user_guess = int(input("input your guess")) age = 25count = ...
- python学习------文件处理
文件操作 一 介绍 计算机系统分为:计算机硬件,操作系统,应用程序三部分. 我们用python或其他语言编写的应用程序若想要把数据永久保存下来,必须要保存于硬盘中,这就涉及到应用程序要操作硬件,众所周 ...
- react-redux-数据流
redux是严格的单向数据流 1,store.dispatch(action) 2, reducer(previousState, action), reducer是纯函数.它仅仅用于计算下一个 st ...
- JS 函数参数 及 函数数组
<script> function a(){ alert("a"); } function b(){ alert("b"); } var arr = ...
- Python随笔--Pickle
遇到问题:不能文件名为pickle.py
- LeetCode 547 朋友圈
题目: 班上有 N 名学生.其中有些人是朋友,有些则不是.他们的友谊具有是传递性.如果已知 A 是 B 的朋友,B 是 C 的朋友,那么我们可以认为 A 也是 C 的朋友.所谓的朋友圈,是指所有朋友的 ...
- python 保留字符
False 假的 None 无 True 真的 and 和 as作为 assert 断言 break 打破 class 种类 continue 继续 def del 删除 elif 否则如果 else ...
- Python 12306登陆详细分析及操作
前面的话: 1.第一次尝试爬虫,登陆12306,有不足的地方,望大家留言告知,谢谢. 2.前面引入了一个requests模块,我不多说,大家都知道干啥的.还有config是我的一个配置文件,因为其中涉 ...
- java富文本编辑器KindEditor
在页面写一个编辑框: <textarea name="content" class="form-control" id="content&quo ...