我们必须使用XNA开发5-10个单独的2D游戏模块。是否可以将这些单独的游戏包装为dll并在一个控制台(Exe)上使用它?如果是,我们如何从dll读取用户输入(使用键盘,鼠标,操纵杆等输入设备)?
需要XNA专家的意见。我是XNA技术的新手。
提前致谢。
答案 0 :(得分:1)
我会说是的。 .Net允许你有一个引用外部dll的exe来加载功能。有许多库(MEF可以想到),这些库建立在这个事实的基础上,以启用插件架构。
XNA游戏主要是.Net程序集。因此,您应该能够创建一个“shell”exe,可以配置为从选定的外部dll加载游戏模块。
您应该记住的是如何处理内容。由于内容文件与二进制文件分开存储,因此您需要一个方案来了解内容如何与您的dll“捆绑”。
你应该阅读the GameComponent mechanism,也许你的游戏模块应该被实现为GameComponents。
关于输入:您可以在shell或单个模块中处理输入。无论哪种方式,您都需要在两者之间定义一个接口,以便在需要时将控制权委托给shell,例如导航到一些常用的“设置”菜单。