博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
lua学习笔记
阅读量:6944 次
发布时间:2019-06-27

本文共 889 字,大约阅读时间需要 2 分钟。

     工作需要,上周对lua赶进度似地学习了一遍,主要参考《lua中文教程》一书,中间参考一些《lua游戏开发实践》,首先说说这两本书,后者不适合初学,里面是对一个游戏脚本系统进行粗略的介绍,lua语言本身的东西介绍的比较少,前者是比较基础的书,不过可能自己笔记愚笨,lua的环境配置折腾了半天,后面找到了lua_windows的安装版本,才解决换台电脑就满脑子的恶心。lua语言主要面向脚本,通过配置来实现系统的灵活性,现在也有很多游戏核心采用C/C++实现,逻辑部分采用lua或者其他脚本语言,因为逻辑层对游戏速度的影响可以忽略不及,但是带来的开发效率提高可能更加显著, lua的学习,这次没有做什么笔记,讲讲自己大致的讲解吧。

 

lua完全用c语言来实现,效率上还是有保障的,学习lua主要由一下几方面:

(1)lua语法:

        数据类型:NIL,boolen,number,string , table,userdata,function

       语法:循环,判断,逻辑操作:逻辑操作中and和or的不同,循环中local的使用,判断中nil类型

(2)lua表:包括表的遍历(泛型),metatable (很重要,lua类面向对象的实现,表之间操作,packages的实现都是基于该功能)

(3)lua函数:lua中函数是第一类数据类型,可以作为参数,类似于C语言的函数指针,不过使用起来很强大,注意闭包的概念

(4)lua中C-API的使用:这是lua作为脚本语言的基本,和C交互。lua和C的冲突主要集中在动与静的区别,所以对lua栈的理解是使用C-API的基础,不然真的很难折腾明白;需要理解文件加载的问题。

 

c语言调用lua函数的过程相对简单一些,lua调用C语言中的函数如果通过类库来实现觉得就很纠结,不过工作中中有很多方法处理这个问题,比如第三方库luabind,tolua++等。不过看书的过程中思考比较多是脚本在使用过程中对错误处理的定位问题,这方面可以参考云风的博客哈。

转载于:https://www.cnblogs.com/zsb517/p/3518588.html

你可能感兴趣的文章
Sybase常用函数
查看>>
***apache做301重定向的方法
查看>>
关于线上测试环境的思考
查看>>
绕过问题也是一种能力--记一次接口的问题
查看>>
hdu 2051 Bitset (java)
查看>>
Spring-AOP
查看>>
HTML笔记
查看>>
第七届河南省赛B.海岛争霸(并差集)
查看>>
安装完最小化 RHEL/CentOS 7 后需要做的 30 件事情(六)码农网
查看>>
多线程计数器——原子操作
查看>>
LeetCode - Pascal's Triangle
查看>>
android145 360 进程管理
查看>>
Linux下搭建Hadoop具体步骤
查看>>
C语言 百炼成钢15
查看>>
荔枝FM架构师刘耀华:异地多活IDC机房架构 - 极客头条 - CSDN.NET
查看>>
ASP.NET MVC4 部分视图
查看>>
python(5)字符串处理 (sub,replace,find,index,upper,strip,split,sub翻页
查看>>
typeof操作符的返回值
查看>>
@Spring事务管理
查看>>
Ubuntu系统如何卸载并安装新版本的jdk(permission denied问题)
查看>>