简化unity API,扩展自定义unity组件的方法

日常中。很多要大量操作写代码的时候。会感觉有些系统api过于繁琐。这时我们就会想,是否能简化或者修改系统api。让代码飞起来呢?

答案是有的。比如一个系统API要这样用:

xx.transform.localPosition = new Vector3 (0, transform.localPosition.y * 0.5f, 0);

我们想要的是这样:

xx.transform.localPosition.SetV3(0, transform.localPosition.y * 0.5f, 0);

那么如何实现呢?

Unity给我们提供了解决方案,参考资料如下:

http://unity3d.com/learn/tutorials/modules/intermediate/scripting/extension-methods

 测试代码:

using UnityEngine;
using System.Collections;

public static class TestTransform
{
    /// <summary>
    /// 设置transform的相对坐标
    /// </summary>
    /// <param name="trans"></param>
    /// <param name="x">x坐标</param>
    /// <param name="y">y坐标</param>
    /// <param name="z">z坐标</param>
	public static void SetV3(this Transform trans,float x,float y,float z)
	{
		trans.localPosition = new Vector3 (x, y, z);
	}
}

好了。看下我们的效果:

6

如上:我们注释了的。也能显示。还是很实用的。当然更多用处,需要自己去应用了!

本文链接:

https://www.bobsong.net/815.html
1 + 3 =
快来做第一个评论的人吧~