zoukankan      html  css  js  c++  java
  • Vector3.Set的正确使用

    直接调用position.Set会发现没有用。其实和其本身是结构体有关,要当成一个值类型来看待,因为他全部是在栈中。

    transform.position.Set(10,0,0);

    改成这样即可:

    var tmp = transform.position;
    tmp.Set(10, 0, 0);
    transform.position = tmp;


     

    结构体在集合中的操作也是一样:

    vec3Arr = new List<Vector3>();
    vec3Arr.Add(new Vector3());
    //位置不会改变.
    vec3Arr[0].Set(100, 0, 0);
    transform.position = vec3Arr[0];
    //正确做法
    var tmp = vec3Arr[0];
    tmp.Set(100, 0, 0);
    vec3Arr[0] = tmp;

    不过真的想吐槽Unity的Set居然不返回自身。。更好的方法是做成一个扩展

    public static Vector3 Return(this Vector3 v, float newX, float newY, float newZ)
        {
            v.Set(newX, newY, newZ);
            return v;
        }
    transform.position = transform.position.Return(10, 0, 0);
  • 相关阅读:
    JQuery UI
    JQuery 插件
    JQuery Ajax
    varchar和Nvarchar区别
    git冲突解决
    jquery ajax 提交信息后等待返回的提示信息
    Oracle错误 ORA-12560如何解决
    putty ssh连接老断
    myeclipse操作记录
    HTML与HTML5笔记
  • 原文地址:https://www.cnblogs.com/hont/p/3537857.html
Copyright © 2011-2022 走看看