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>"

游戏开发入门——Lua(1)相关推荐

  1. 游戏开发入门(二)游戏开发概述

    这篇文章主要以问题的形式给大家解答下面几个问题: 1.游戏是如何开发出来的,开发流程大概是什么样子的? 2.游戏相关的职位都有哪些? 3.开发游戏需要哪些技术或能力? 4.程序员一般负责的内容有哪些? ...

  2. 游戏开发入门(四)逻辑与脚本开发

    视频链接:游戏开发入门(四)逻辑与脚本开发(8节课 时常:约2小时30分钟 第4节看不了) 笔记与总结(请先学习视频内容): 1.逻辑系统目的 实现策划的设计文档 构建游戏玩法 实现程序与玩家交互 2 ...

  3. Java版AVG游戏开发入门示例 3 ——脚本引擎的制作及应用

    源码下载地址:http://code.google.com/p/loon-simple/downloads/list 根据wikipedia的解释:脚本语言(Script language,scrip ...

  4. Java版AVG游戏开发入门示例[3]——脚本引擎的制作及应用

    源码下载地址:http://code.google.com/p/loon-simple/downloads/list 根据wikipedia的解释:脚本语言(Script language,scrip ...

  5. 游戏开发入门(一)游戏开发概述

    视频链接:游戏开发入门(一)游戏开发概述(3节课 时常:约1小时03分钟) 该视频围绕电子游戏的发展与开发简单介绍了一些基本常识,同时提出并解决了几个问题 笔记与总结(请先学习视频内容): 1.游戏机 ...

  6. Android 游戏开发入门

    Android 游戏开发入门 图书描述: Android系统已经红遍了大江南北,持有Android设备的人也在不断增长.看着大街上用手指划着手机玩游戏的人,你有没有一种自己做一个游戏的想法呢?然而,入 ...

  7. 游戏开发入门系列(目录)

    更新:清华大学美术学院与腾讯游戏学院合作推出了一个新的游戏开发入门课程,相比原来的内容要更丰富一些,我个人也更推荐这门课程,链接如下. https://next.xuetangx.com/course ...

  8. 游戏开发入门(二)游戏中的设计模式

    视频链接:游戏开发入门(二)游戏中的设计模式(3节课 时常:约2小时40分钟) 该视频主要围绕游戏中常见的设计模式展开讲解并实践,需要大家多多实践与理解 笔记与总结(请先学习视频内容): 1.有必要深 ...

  9. Pascal游戏开发入门(二):渲染图片

    Pascal游戏开发入门(二):渲染图片 渲染静态图片 新增一个Texture,然后Render出来 创建Texture,并获取尺寸 procedure TGame.Init(title: strin ...

最新文章

  1. orakill和alter system kill session的区别
  2. (1)封装 (2)static关键字 (3)继承
  3. 关键词分词工具_运用表格宏对阿里国际站关键词库进行分组
  4. QT tablewidget设置表头
  5. 学习记录:小程序图片上传至服务器
  6. 解决:adb devices error protocol falut(no status)
  7. 【转】阿里巴巴社招内推
  8. 【四二学堂】标准GPS坐标,转换成百度坐标
  9. buu crypto 变异凯撒
  10. 台式计算机DNS地址配置无法保存,电脑设置不了DNS地址怎么办
  11. UnRaid利用iGVT-g插件实现Nas宿主机、虚拟机同时使用intel核显输出或硬解(硬件加速)功能
  12. rust领地柜用石镐拆吗_腐蚀Rust防炸地基教学 伪分离和双层防炸地基怎么造
  13. 中国互联网生态报告发布
  14. python os 模块
  15. 清除浮动的常用的几种方法
  16. pcap_next_ex() 捕获数据包
  17. 100条必背JAVA知识点,你都掌握了吗?(上)
  18. 【Java】环境搭建
  19. php redis事务,Redis中事务的使用详解
  20. Letasoft Sound Booster V1.1汉化破解版(系统音量增强软件)

热门文章

  1. iview学习帮助文档
  2. 《邱岳的产品实战》学习笔记:第9周
  3. 2022年莆田市高新技术企业申报奖励补贴,高企认定条件以及申报材料汇总
  4. 《游戏编程》第一部 基础篇
  5. 批量转换用户的共存模式--Skype for Business to Teams
  6. 中科院大牛博士是如何进行文献检索和阅读(好习惯受益终生)
  7. HQL的执行顺序(这是重点)
  8. 【HTTP】HTTP Authorization 之 Basic Auth 和 X-Auth-Token
  9. JS字符串截取方法 JS字符串查找指定字符方法 JS字符串替换指定字符方法 JS字符串插入指定位置方法 JS字符串删除指定字符方法
  10. 在python中gevent monkey_patch 出现Monkey-patching may lead to errors解决