【unity小技巧之三】添加自定义拓展,动态向某个类注入静态函数
2016-04-07 15:45
519 查看
有的时候想直接通过transform.position.x=10f;的时候,编译器会报错,必须这样写
所以上面的代码直接写transform.SetX(10f);即可,这样代码写起来更加快捷~~~
提示:静态类不能拓展MonoBehaviour类。
transform.position = new Vector3(10f, transform.position.y, transform.position.z);这样特别的不方便,然而C#3.0新加入一个特性,就是通过this关键字动态的向某个类注入静态函数,比如:
using UnityEngine; using System.Collections; public static class ExtraTransform { public static void SetX(this Transform transform, float x) { Vector3 newPosition = new Vector3(x, transform.position.y, transform.position.z); transform.position = newPosition; } public static void SetY(this Transform transform, float y) { Vector3 newPosition = new Vector3 (transform.position.x, y, transform.position.z); transform.position = newPosition; } public static void SetZ(this Transform transform, float z) { Vector3 newPosition = new Vector3 (transform.position.x, transform.position.y, z); transform.position = newPosition; } public static float GetX(this Transform transform) { return transform.position.x; } public static float GetY(this Transform transform) { return transform.position.y; } public static float GetZ(this Transform transform) { return transform.position.z; } }
所以上面的代码直接写transform.SetX(10f);即可,这样代码写起来更加快捷~~~
提示:静态类不能拓展MonoBehaviour类。
相关文章推荐
- Unity3D研究院之异步加载游戏场景与异步加载游戏资源进度条(三十一)
- unity中使用usafe代码的设置
- [置顶] Unity开发规范(个人习惯,仅供参考)
- 使用Unity5.1进行VR开发的配置(最新的未必是最好的!!!)
- Unity脚本获取内存和FPS
- Unity脚本获取内存和FPS
- Unity3d 读写文本
- unity3d动画帧事件回调脚本必须直接挂在模型上
- Unity3d平台预编译
- 移动游戏性能优化技术干货分享——CPU篇
- 游戏性能优化技术干货分享——内存管理
- Unity UGUI教程之实现滑页效果
- Unity实现滑页效果(UGUI)
- Unity实现滑页效果(UGUI)
- Unity Shaders and Effects Cookbook (3-2) 创建简单的 Phong 高光 光照模型
- Unity3D研究院之游戏场景的切换与持久化简单数据的储存(十四)
- [Unity] 在协程中等待指定的毫秒
- unity 5.3 工业模型的细节展开功能实现
- Unity 导入 fbx 模型文件
- Unity Shaders and Effects Cookbook Chap 1 读书个人小结