文件名称:如何把C++对象绑定到Lua轻量级
文件大小:201KB
文件格式:MHT
更新时间:2014-10-28 07:40:57
lua C++ 轻量级 绑定
游戏中的使用脚本语言已经成为了一个标准应用。脚本语言能够在游戏开发中扮演一个重要的角色,并且让数据结构化,计划事件,测试和调试这些工作更加容易。脚本语言也能够允许像美术,策划这些非程序专家通过一个高层的抽象脚本来为游戏编写代码。这个抽象层的一部分也能够允许提供给玩家来定制整个游戏。 从程序员的角度上来看,把一个脚本语言嵌入到游戏中最主要的问题是如果为脚本语言提供对宿主对象的访问(通常是C/C++对象)。在选择一个脚本语言的时候有两个关键的特性:嵌入相关问题和绑定相关问题。而这些是Lua语言的一些设计的初衷。可是,Lua语言并没有提供任何自动创建绑定的工具,因为这是出于另外一个设计初衷:Lua只是提供机制,而不是策略。 因而,就有许多种策略可以用来在Lua中绑定宿主对象。每一种策略都有它的优点和缺点,游戏开发者必须在得到在脚本环境中所需要的功能需求之后确定最好的策略。一些开发者可能只是把C/C++对象映射成简单的数值,但是其他人可能需要实现运行期类型检查机制,甚至是在Lua中扩展宿主的应用。另外一个需要处理的重要问题是,是否允许Lua来控制宿主对象的生命周期。在这篇文章中,我们将探究使用Lua的API来实现不同的宿主对象绑定策略。