代码之家  ›  专栏  ›  技术社区  ›  Earlgray

由X或Y设置的Vector2属性

  •  1
  • Earlgray  · 技术社区  · 12 年前

    我想问一下如何定义属性Vector2,这样我就可以通过坐标X或Y存储数据,如下所示:

    MyProperty.X = 1;
    MyProperty.Y = 2;
    

    现在我的属性代码如下:

    Vector2 myProperty;
    public Vector2 MyProperty
            {
                get
                {
                    return myProperty;
                }
                set
                {
                    myProperty = value;
                }
            }
    

    但我不能将值设置为X或Y坐标,我只能设置新的Vector2。

    1 回复  |  直到 12 年前
        1
  •  3
  •   Community Mohan Dere    9 年前

    您不能直接修改(或变异) Vector2 的财产。你必须做的是这样的事情:

    float somevariable = 1f;
    MyProperty = new Vector2(MyProperty.X + somevariable, MyProperty.Y - somevariable);
    

    或

    var X = MyProperty.X + 1f;
    MyProperty = new Vector2(X, MyProperty.Y);
    

    另请参见 here 和 here