所以我对编码游戏还是比较新的,并且在将XNA框架引入我的C#程序以使用其四元数学方面遇到了一些麻烦。相反,也许是一个错误,我找到了XNA几何命名空间的zip文件,并将其添加到我的解决方案中的数学库中。除了最重要的班级 - 四元数班级的最顶层的一个错误之外,一切似乎都完美无缺。
namespace XnaGeometry
{
#if WINRT
[DataContract]
#else
[Serializable]
#endif
public struct Quaternion : IEquatable<Quaternion>
{
#if WINRT
[DataMember]
#endif
public double X;
#if WINRT
[DataMember]
#endif
public double Y;
#if WINRT
[DataMember]
#endif
public double Z;
#if WINRT
[DataMember]
#endif
public double W;
static Quaternion identity = new Quaternion(0, 0, 0, 1);
public Quaternion(double x, double y, double z, double w)
{
this.X = x;
this.Y = y;
this.Z = z;
this.W = w;
}
错误落在第一个单词&#34; Quaternion&#34;并说&#34;扩展方法必须在非泛型静态类中定义。&#34;我尝试猜测和检查谷歌搜索修复和盲目运气已证明无效。任何人都知道为什么会出现这个错误?