Wiimote的C#编码问题

时间:2016-04-13 14:41:30

标签: c# wiimote

目前正致力于使用Wii遥控器创建VR头部跟踪时遇到了错误。

  

可以设计类***,但不是文件中的第一个类.Visual Studio要求设计者使用文件中的第一个类。移动类代码,使其成为文件中的第一个类,然后再次尝试加载设计器。

我已将代码拆分为不同的页面但是我收到了同样的错误。这是我正在处理的代码:

namespace WiiDesktopVR
{
    class Point2D
    {
        public float x = 0.0f;
        public float y = 0.0f;
        public void set(float x, float y)
        {
            this.x = x;
            this.y = y;
        }
    }

    public class WiiDesktopVR : Form
    {
        struct Vertex
        {
            float x, y, z;
            float tu, tv;

            public Vertex(float _x, float _y, float _z, float _tu, float _tv)
            {
                x = _x; y = _y; z = _z;
                tu = _tu; tv = _tv;
            }

            public static readonly VertexFormats FVF_Flags = VertexFormats.Position | VertexFormats.Texture1;
        };

        Vertex[] targetVertices =
        {
            new Vertex(-1.0f, 1.0f,.0f,  0.0f,0.0f ),
            new Vertex( 1.0f, 1.0f,.0f,  1.0f,0.0f ),
            new Vertex(-1.0f,-1.0f,.0f,  0.0f,1.0f ),
            new Vertex( 1.0f,-1.0f,.0f,  1.0f,1.0f ),
        };
    }
}

由于

1 个答案:

答案 0 :(得分:1)

Point2D移至文件底部。最佳实践表明,每个文件只应该有一个类,因此获取Stuart的建议并将其移动到另一个文件将是最好的。

namespace WiiDesktopVR
{
    public class WiiDesktopVR : Form
    {
        struct Vertex
        {
            float x, y, z;
            float tu, tv;

            public Vertex(float _x, float _y, float _z, float _tu, float _tv)
            {
                x = _x; y = _y; z = _z;
                tu = _tu; tv = _tv;
            }

            public static readonly VertexFormats FVF_Flags = VertexFormats.Position | VertexFormats.Texture1;
        };

        Vertex[] targetVertices =
        {
            new Vertex(-1.0f, 1.0f,.0f,  0.0f,0.0f ),
            new Vertex( 1.0f, 1.0f,.0f,  1.0f,0.0f ),
            new Vertex(-1.0f,-1.0f,.0f,  0.0f,1.0f ),
            new Vertex( 1.0f,-1.0f,.0f,  1.0f,1.0f ),
        };
    }

    class Point2D
    {
        public float x = 0.0f;
        public float y = 0.0f;
        public void set(float x, float y)
        {
            this.x = x;
            this.y = y;
        }
    }
}