相关疑难解决方法(0)

何时归一化矢量?

我正在学习XNA以及http://creators.xna.com/en-US/上发现的几乎所有教育工具包.我总是在向量上看到对Normalize()的调用.我理解,normalize基本上将向量转换为单位长度,所以它给出的只是方向.

现在我的问题是何时进行标准化以及它对我有什么帮助.我正在进行2D编程,因此请在2D概念而不是3D中进行解释.

编辑:这是XNA工具包中的代码,为什么要调用Normalize?

if (currentKeyboardState.IsKeyDown(Keys.Left) ||
            currentGamePadState.DPad.Left == ButtonState.Pressed)
        {
            catMovement.X -= 1.0f;
        }
        if (currentKeyboardState.IsKeyDown(Keys.Right) ||
            currentGamePadState.DPad.Right == ButtonState.Pressed)
        {
            catMovement.X += 1.0f;
        }
        if (currentKeyboardState.IsKeyDown(Keys.Up) ||
            currentGamePadState.DPad.Up == ButtonState.Pressed)
        {
            catMovement.Y -= 1.0f;
        }
        if (currentKeyboardState.IsKeyDown(Keys.Down) ||
            currentGamePadState.DPad.Down == ButtonState.Pressed)
        {
            catMovement.Y += 1.0f;
        }


        float smoothStop = 1;


        if (catMovement != Vector2.Zero)
        {
            catMovement.Normalize();
        }

        catPosition += catMovement * 10* smoothStop;
Run Code Online (Sandbox Code Playgroud)

}

c# xna

10
推荐指数
1
解决办法
1万
查看次数

标签 统计

c# ×1

xna ×1