§10.5挑战:写一个自由相机类

你已经学习了如何处理输入设备。可选择的其他输入设备,如Xbox 360滚轮控制器,在Input类被当作手柄也被自动支持。例如,你可以用Xbox 360滚轮控制器操作Rocket Commander。这不是很适合,但也能工作,看上去挺有趣。

你也使用了很多的游戏屏幕类并在下一个游戏中重用它们。例如,XNA Shooter使用了和Rocket Commander几乎相同的菜单结构,但更加简单。在下一章你更多地了解Xna Shooter。

本节你的任务是编写自由相机类。你可以实现一个三维空间的自由相机,让您移动到任何你想要的方向。只要用您的相机类替换BaseGame中的SimpleCamera类。然后您可以测试所有的单元测试,显示三维数据来测试您的相机。如果你不知道如何开始,查看一下SpaceCamera类中的代码,它提供种相机处理的主要功能。

或者,您还可以实现一个射击相机,可以让你自由旋转和走动,但你留在地面上。你甚至可以改进这种相机,通过与地面进行简单的碰撞测试让你跳上跳下。要做到这一点我建议你写单元测试,先显示一些物体和地面去测试您的相机类。


发布时间:2008/9/28 8:09:00  阅读次数:5060

2006 - 2024,推荐分辨率1024*768以上,推荐浏览器Chrome、Edge等现代浏览器,截止2021年12月5日的访问次数:1872万9823 站长邮箱

沪ICP备18037240号-1

沪公网安备 31011002002865号