【发布时间】:2011-05-23 23:55:28
【问题描述】:
我正在使用 IrrKlang 声音库在游戏中创建 3D 声音。问题是侦听器集正在寻找 Vector3D 位置,但我拥有的变量在 Vector3 中。我该如何解决这个问题?
【问题讨论】:
我正在使用 IrrKlang 声音库在游戏中创建 3D 声音。问题是侦听器集正在寻找 Vector3D 位置,但我拥有的变量在 Vector3 中。我该如何解决这个问题?
【问题讨论】:
只需将 Vector3 转换为 Vector3D,因为 Vector3D 只是一个带有 X、Y、Z 成员变量的结构,用于表示 x、y、z 分量,这样的函数应该可以正常工作:
public static Vector3D ToVector3D(Vector3 input)
{
return new Vector3D( (float)input.X, (float)input.Y, (float)input.Z );
}
也许您可以将它实现为 Vector3 的扩展(即 Vector3.ToVector3D()),但无论如何将 Vector3 转换为 Vector3D 非常简单,上面的代码应该会有所帮助:)
【讨论】: