游戏开发入门——Lua(1)
Lua(1)2018年7月6日 9:46/* 博主终于毕业了也入职,去了广州某大型上市有限公司做游戏后台开发,之前没有学习过Lua的说要特地抽时间来看Lua*/Lua 是一种轻量小巧的脚本语言,用标准C语言编写并以源代码形式开放, 其设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能。Lua 是巴西里约热内卢天主教大学里的一个研究小组,由所组成...
Lua(1)2018年7月6日 9:46
Lua 是一种轻量小巧的脚本语言,用标准C语言编写并以源代码形式开放, 其设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能。
Lua 是巴西里约热内卢天主教大学里的一个研究小组,由所组成并于1993年开发。
Lua 特性
• 轻量级: 它用标准C语言编写并以源代码形式开放,编译后仅仅一百余K,可以很方便的嵌入别的程序里。
• 可扩展: Lua提供了非常易于使用的扩展接口和机制:由宿主语言(通常是C或C++)提供这些功能,Lua可以使用它们,就像是本来就内置的功能一样。
• 其它特性:
• 支持面向过程(procedure-oriented)编程和函数式编程(functional programming);
• 自动内存管理;只提供了一种通用类型的表(table),用它可以实现数组,哈希表,集合,对象;
• 语言内置模式匹配;闭包(closure);函数也可以看做一个值;提供多线程(协同进程,并非操作系统所支持的线程)支持;
• 通过闭包和table可以很方便地支持面向对象编程所需要的一些关键机制,比如数据抽象,虚函数,继承和重载等。
Lua 应用场景
• 游戏开发
• 独立应用脚本
• Web 应用脚本
• 扩展和数据库插件如:MySQL Proxy 和 MySQL WorkBench
• 安全系统,如入侵检测系统
注意:(1)在 Lua 里,最主要的线程是协同程序。它跟线程(thread)差不多,拥有自己独立的栈、局部变量和指令指针,可以跟其他协同程序共享全局变量和其他大部分东西。
线程跟协程的区别:线程可以同时多个运行,而协程任意时刻只能运行一个,并且处于运行状态的协程只有被挂起(suspend)时才会暂停。
(2)Luau的数组值是以1开始的,但是也可以指定为0。
(3)迭代器是STL容器的template 类型的模板库中,其实它是一个泛型类型的指针。
(4)require函数用来加载模块 require("<moudle>")或者 require"<moudel>"
更多推荐
所有评论(0)