cpp_object_map = {}setmetatable(cpp_object_map, { __mode = "kv" }) local search_basesearch_base = function(t, k) local base_list = rawget(t, "__base_l            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2016-12-06 17:19:00
                            
                                337阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            lua有8中基本类型,string(字符串),number(数字),nil(空),userdata(自定义类型),table(表),boolean(布尔),thread(线程),function(函数)。lua的注释        单行注释:--被注释的内容;                 
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-04-27 23:08:20
                            
                                27阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            一、TString结构1、结构分析TString是存放字符串的结构体,代码如下:typedef union TString {
  L_Umaxalign dummy;  /* ensures maximum alignment for strings */
  struct {
    CommonHeader;
    lu_byte reserved; /* 保留字段 */
    unsi            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-03-15 07:53:04
                            
                                80阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            众所周知,Lua作为一种很小却很灵活的脚本语言,如今广泛应用于各种网游的热更新。毕竟是解释型语言嘛,不需要提前编译。我们可以把它打成AssetBundle,现场解压运行。但是,相信很多做游戏开发的童鞋,从C#等强类型语言转去写Lua代码的时候,可能都感叹过,Lua真难用!!!找个引用要找半天,还经常打错字段,更重要的是,它不支持面向对象啊!我本来就是单身,你还要剥夺我new对象的权利吗?╥﹏╥不过            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-03-29 10:53:18
                            
                                109阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            在Lua中的面向对象编程,相信目前学习Lua的大部分人都是为了开发手机网游吧。而且基本都是奔着脚本语言的热更新特性去的,所以全脚本开发变得十分流行。对于普及不太广的Lua(相对于C++、Java等主流语言),需要短时间上手开发游戏,对新手而言不算简单。所以大家才更习惯于继续用面向对象思想去折腾Lua吧!1.类的对象Lua中如何创建一个类了?其实就是一个Table而已,那么,要使用这个类去创建多个对            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-04-11 21:56:39
                            
                                35阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            写在前面的话:Lua是一个脚本语言,嵌入别的语言中。详细的介绍大家自己百度一下Lua值与类型  Lua 是一种 动态类型语言。这意味着变量没有类型,只有值才有类型。语言中不存在类型定义。而所有的值本身携带它们自己的类型信息。  Lua 中的所有值都是一致 (first-class) 的。这意味着所有的值都可以被放在变量里,当作参数传递到另一个函数中,并被函数作为结果返回。  八种基本类型: nil            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-04-30 09:07:26
                            
                                103阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            """
1、单列模式是什么
列子:电脑上有一个回收站,在操作系统中,回收站只有一个实例,整个系统中唯一实例,而且是自行提供的实例,因此回收站是单例模式应用。
单列模式是指:保证一个类仅有一个实例,而且自行实例化并向整个系统提供这个实例,这个类称为单列类。总线对象,就是一个单列,它仅有一个是咧,每个线程对总线的访问只有一个全局访问点,即唯一的实例。
问题,在多线程中,为了保证线程安全需要在内部加入锁            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-09-19 20:01:29
                            
                                25阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            From: 0.lua的类(1)lua的类实际上就是lua的 table ,类之间的继承实际上就是吧 table 连到一起了,调用方法和属性,
    就是先去第一个table搜索如果没有再去连在后面的table里搜索。
(2)lua里的self实际上就是table了,也能代表类名
(3)lua继承
local self = {}
setmetatable(self , classA)            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-08-11 14:22:41
                            
                                149阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            前置知识点首先,lua并不是一个面向对象的语言,但是我们可以通过适当的方法来模拟出面向对象的效果。 在lua里,最像对象的我们可以马上联想到lua中的表。但是我们印象中的对象普遍都有属性和方法,但表里面好像只有属性啊。比如,local obj = { a = "a",  b = "b" }没关系,上面我们也说了,需要使用适当的方法模拟。我们只需要改变一下思路,local obj = {
    a            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-05-05 18:20:33
                            
                                59阅读
                            
                                                                             
                 
                
                             
         
            
            
            
             目录1.Lua安装2. 注释3.Lua中的数据类型3.1 nil(空)3.2  boolean(布尔)3.3 number(数字)3.4 string(字符串)3.5 table(表)3.6 function(函数)4.全局变量多变量同时赋值5.Lua 循环5.1  while循环5.2  for循环5.3  repeat until循            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-08-12 20:28:58
                            
                                57阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            这篇文章,我们将来介绍Lua何如调用C++的函数。我们来创建一个C++函数,新建一个类,命名为HelloLua,头文件的代码如下:class HelloLua:pulibc CCLayer
{
   CREATE_FUNC(HelloLua);
   virtual bool init();
   static CCScene* scene();
   static int getNumber(            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-04-09 22:23:38
                            
                                56阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            这个系列我们主要学习Cocos2d-x Lua,总结Lua开发过程中所涉及的知识点,以及在开发过程中如何使用Cocos Code IDE。这一篇介绍Lua中的面向对象编程,主要讲解类和继承。写在前面:        终于来了,在Lua中的面向对象编程,相信目前学习Lua的大部分人都是为了开发手机网游吧。而且基本都是奔着脚本语言的热更新特性去的,所以            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-03-29 07:36:25
                            
                                34阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            基类:基类定义了所有对于派生类来说普通的属性和方法,派生类从基类继承所需的属性和方法,且在派生类中增加新的属性和方法。继承:继承是C++语言的一种重要机制,它允许在已定义的类的基础上产生新类。 lua基类和C++基类极为相似,但是lua中却没有继承这一说,更没有所谓的派生类。lua只能通过一种行为(元表)来模拟C++继承这一方法。元表:lua中提供的元表是用于帮助lua数据变量完成某些非            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-02-26 22:58:13
                            
                                56阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            //
BaseClass.lua
name1.lua.txt 中:
第一行 local name1 = BaseClass(“name1”)
local function __init(self,…)
end
 
local function __delete(self,…)
end
name1.__init = __init 
name1. __delete = __delete
return            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-08-29 23:32:20
                            
                                62阅读
                            
                                                                             
                 
                
                             
         
            
            
            
             最近做的一个项目用到了Lua,所以也顺便学习了些,想必玩过魔兽的朋友都听说过lua,不过相对来说用这个的还是不多。  面向对象只是一种思想,在Lua我们也可以实现,减少了冗余代码。先建一个类 person
  person={
    name="a",
    age = 23,
    high=177,
    weight=65
} 在pserson表里,我            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-05-14 14:42:30
                            
                                23阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            说明:本文亦作为某章节出现在中山大学某实验室编撰的某教材中,本博客博主即该教程的编撰者,因此请不要因为看到本博客和该书中某章内容相同而认为这之间必有作假必有一方抄袭另一方。二、Lua中类的简单实现         Lua的设计初衷并非意图构建完整的应用,而是嵌入在应用程序中为应用提供灵活的扩展和定制功能,所以Lua仅提            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-04-03 10:53:42
                            
                                64阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            注: 原文有些地方不够详细或不正确, 我补充完善了一些内容, 如仍有不正确的地方, 欢迎指正.1. Lua类实现从网上搜了几个类实现,自己照猫画老虎的弄个如下:ClassYM = {x=0, y=0}
--这句是重定义元表的索引,必须要有,
ClassYM.__index = ClassYM
--模拟构造体,一般名称为new()
function ClassYM:new(x,y)
    loc            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-04-22 21:45:49
                            
                                71阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            一、数据类型我们可以看到Lua中除了TNONE类型之外,还定义了额外的8种类型(LIGHTUSERDATA和USERDATA一样,都是void* ,区别在于Lua是不是需要关心它的生存期,分配释放的操作者是Lua内部实现还是外部实现,前者是外部,后者是内部)#define LUA_TNONE       (-1)
#define LUA_TNIL        0
#define LUA_TBOO            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-07-07 16:41:44
                            
                                54阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            类的单实例模式单例模式的实现方式有:1.使用模块
2.使用装饰器
3.使用类
4.基于__new__方法
5.基于metaclass实现什么是单例模式?单例模式(singleton pattern)是一种常用的软件交互模式,该模式的主要目的是为了确保某个类只有一个实例存在,当你希望系统中,某个类只能出现一个实例时,单实例就可以派上用场。比如,某个服务器程序的配置信息存放在一个文件中,客户端通过一个            
                
         
            
            
            
            不错,将metatable讲的很透彻,我终于懂了。------------------------------------------------------------ Lua中没有类的概念,但我们可以利用Lua本身的语言特性来实现类。下文将详细的解释在Lua中实现类的原理,涉及到的细节点将拆分出来讲,相信对Lua中实现类的理解有困难的同学将会释疑。类是什么?想要实现类,就要知道类到底            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-07-03 21:46:16
                            
                                30阅读