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

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

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

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

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


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

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

沪 ICP 备 18037240 号-1

沪公网安备 31011002002865 号