本节书摘来异步社区《lua游戏ai开发指南》一书中的第2章,第2.3节,作者: 【美】david young(杨) 译者: 王磊 责编: 陈冀康,更多章节内容可以访问云栖社区“异步社区”公众号查看。
项目创建好之后,你需要为premake创建3个空白文件。创建如下的源文件和头文件:
现在就可以运行vs2008.bat、vs2010.bat、vs2012.bat或者vs2013.bat来重新生成visual studio解决方案了。然后,当打开这个解决方案时,你就能看到新的my_sandbox项目了。
每个沙箱示例程序都需要扩展sandboxapplication基础类来声明可执行的lua脚本的位置。
遵照下面的模式来声明你的mysandbox类:
继承sandboxapplication类可以提供一些基础的功能。目前我们只需要重载initialize函数来添加lua脚本资源的路径。
继承sandboxapplication还能重载update和cleanup等函数。任何其他的c++代码都可以通过这些函数注入到主应用程序中。
当重载这些函数时,你总是应该调用sandbox application基类的原始实现,因为它们处理了沙箱的清理、初始化和更新等功能。
在沙箱的源文件中,只需要设置沙箱的lua脚本资源的路径,并调用父类的initialization函数。
最后,你可以在main.cpp文件中添加一点启动代码来开始你的应用程序: