§10.5挑战:写一个自由相机类
你已经学习了如何处理输入设备。可选择的其他输入设备,如Xbox 360滚轮控制器,在Input类被当作手柄也被自动支持。例如,你可以用Xbox 360滚轮控制器操作Rocket Commander。这不是很适合,但也能工作,看上去挺有趣。
你也使用了很多的游戏屏幕类并在下一个游戏中重用它们。例如,XNA Shooter使用了和Rocket Commander几乎相同的菜单结构,但更加简单。在下一章你更多地了解Xna Shooter。
本节你的任务是编写自由相机类。你可以实现一个三维空间的自由相机,让您移动到任何你想要的方向。只要用您的相机类替换BaseGame中的SimpleCamera类。然后您可以测试所有的单元测试,显示三维数据来测试您的相机。如果你不知道如何开始,查看一下SpaceCamera类中的代码,它提供种相机处理的主要功能。
或者,您还可以实现一个射击相机,可以让你自由旋转和走动,但你留在地面上。你甚至可以改进这种相机,通过与地面进行简单的碰撞测试让你跳上跳下。要做到这一点我建议你写单元测试,先显示一些物体和地面去测试您的相机类。
发布时间:2008/9/28 上午8:09:00 阅读次数:5701