我试图编写一个实用函数来更改Vector3的x值,因此我只能编写
transform.position.SetVectorX(newX);
而不是:
Vector3 temp = new Vector3(newx, transform.position.y, transform.position.z);
transform.position = temp;
所以我尝试了这个,但我不明白为什么它不工作:
namespace MyUtility
{
public static class Extension
{
public static Vector3 SetVectorX(this Vector3 v, float x)
{
return v = new Vector3(x, v.y, v.z);
}
}
}
1条答案
按热度按时间44u64gxh1#
你需要考虑更高的层次,你可以为
Transform
写一个扩展方法来设置它的位置。这样称呼它:
至于你最初的想法,参见this question。