为什么Lua适合做游戏?

世面上使用Lua的游戏很多,最著名的莫过于魔兽世界了,全部采用Lua开发的游戏也不少(仅指Game Play部分,渲染、系统调用之类的不包括在内)。很多引擎,比如Coco2d-x,也支持Lua开发。为什么Lua在游戏领域获得了如此多的支持和使用?主要原因有以下几点:

  • 简单但完整。Lua语言本身非常简单,学习成本很低。它并不涉及任何复杂的编程概念,如果你愿意,一个table可以打天下。
  • 轻量级。它的库非常小,所有代码加在一起才几万行。
  • 互调方便,可移植性强。Lua本身是采用C实现的,它可以非常方便的嵌入到C/C++代码中,也可以和C/C++代码实现互相调用。同样的原因,他可以非常方便的在各种设备上使用,这为游戏跨平台运行提供了基本保障。
  • 执行方式。Lua是一种脚本语言,只需要有对应的解释器就能够执行,摆脱了操作系统的限制。

上边几点比较偏技术,真正决定了Lua能够在游戏领域,特别是移动游戏领域大量使用的原因是:

继续阅读为什么Lua适合做游戏?