我正在学习XNA,几乎在
http://creators.xna.com/en-US/发现的所有教育套件.我总是看到一个向量的normalize()的调用.我知道规范化基本上将矢量转换为单位长度,所以它给出的是方向.
现在我的问题是什么时候正常化,究竟是什么帮助我.我正在做2D编程,所以请用2D的概念解释,而不是3D.
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;
}
解决方法
原文地址:https://www.jb51.cc/csharp/97682.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。