代碼在我的移動物體:C#正常化(如矢量)
ObjectX.Location.Add(Velocity * Utils.GetMoveDir(start, destination));
效用函數:
public static PointF GetMoveDir(PointF start, PointF destination)
{
PointF substraction = destination.SubStract(start);
if (substraction == PointF.Empty) // If-statement is needed because normalizing a zero value results in a NaN value
return PointF.Empty;
else
return substraction.Normalize(); // <<<< I need something for this
}
延長我不能去上班:
public static PointF Normalize(this PointF A)
{
throw new NotImplementedException(); // How do I solve this to make it like: http://msdn.microsoft.com/en-us/library/microsoft.xna.framework.vector2.normalize.aspx
}
請注意,我不使用XNA框架。
是''PointF'實際'System.Drawing.PointF'還是別的嗎?上面提到的'PointF'沒有'SubStract'非靜態方法,但它有'Subtract'靜態方法。 – Dialecticus 2012-04-04 13:11:54
對不起,我忘了提,它是PointF上我的一個擴展方法。但它是一個真正的PointF,就像在System.Drawing中一樣。 – Napoleon 2012-04-04 13:41:44