【小松教你手游开发】【unity实用技能】拓展函数(给系统代码添加可直接使用的接口)
2016-04-22 17:24
696 查看
拓展函数的意思是给一些没有源码的脚本添加上你自己写的接口并可以直接调用。
像我上面写的这样,这样就可以直接在transform.SetLocalPositionX()来设置坐标。
而GetSafeComponent()是防止你在找脚本的时候出现空引用而不知道问题在哪。
而这里需要的使用条件是在头文件里添加 using ExtensionMethods;
using UnityEngine; using System.Collections; namespace ExtensionMethods { public static class MyExtensions { public static void SetLocalPositionX(this Transform transform, float x) { Vector3 newPosition = new Vector3(x, transform.localPosition.y, transform.localPosition.z); transform.localPosition = newPosition; } public static T GetSafeComponent<T>(this GameObject go) { T component = go.GetComponent<T>(); if (component == null) { CDebug.LogError("!!!error :You are finding compoent of type: " + typeof(T) + ", but found none,gameObject:" + go.name); } return component; } } }
像我上面写的这样,这样就可以直接在transform.SetLocalPositionX()来设置坐标。
而GetSafeComponent()是防止你在找脚本的时候出现空引用而不知道问题在哪。
而这里需要的使用条件是在头文件里添加 using ExtensionMethods;
相关文章推荐
- UnityEngine中Animator相关类的说明
- C#实例 Unity依赖注入使用
- Unity Shader 小功能之 透明
- Unity对象池(一)
- unity, GL.TexCoord or GL.Color must put before GL.Vertex!!!
- Unity Shader Tags
- unity 关于Rotation和Quaternion的一些问题(欧拉角与四元数,lerp与slerp)
- Unity5x 场景烘焙,动态物体烘焙不上
- unity 内存管理和原理
- 将FBX文件导入Unity3d中
- Unity 调用外部DLL插件
- unity 发布到Android平台 Splash Screen无法出现完整加载图片
- unity的温度云图实现
- Unity3D的几种坐标系,以及屏幕解锁类似功能
- Unity3D - 动作动画忽略timeScale
- Unity Mecanim在大型mmo中的应用
- Unity 几个物体移动的方法
- Unity3D 图形优化
- Unity3D 性能优化
- 在Unity中对SQLite的增删改查的简单封装