- 博客(20)
- 资源 (2)
- 收藏
- 关注
转载 Lua中弱引用table
这篇文章主要介绍了Lua教程之弱引用table,本文讲解了自动内存管理的缺陷、弱引用table、三种形式的弱引用等内容,需要的朋友可以参考下这次要介绍的内容比较少,就一个——弱引用table1.无法超越人类智慧的智能——自动内存管理的缺陷我们都知道,Lua是具备自动内存管理的,好吧,也许有些朋友不知道。我们只管创建对象,无须删除对象(当然,对于不要的对象你需要设置一下nil值),L...
2019-01-07 09:39:56 385 7
原创 使用lua实现截取中英文字符串
--返回当前字符实际占用的字符数local function SubStringGetByteCount(str, index) local curByte = string.byte(str, index) local byteCount = 1; if curByte == nil then byteCount = 0 elseif curBy
2018-01-30 15:17:05 1758 1
转载 Lua中内存管理和释放的理解
Lua内存是自动收集的, 这点跟Java类似, 不被任何对象或全局变量引用的数据,将被首先标记为回收,不需要开发者做任何事情.但是,正如Java也会有内存泄露一样, Lua也会有, 只不过,跟C++的不同,它是由于代码执行所装载的资源,并没有被彻底销毁而导致,其中,最臭名昭著的就是不小心把局部变量声明成了全局变量(忘了加local修饰符)。 类似这样造成的内存泄露, 跟任何其他语言的内存泄露一样,
2018-01-28 13:28:39 15478 3
原创 lua中冒泡排序的理解
冒泡排序的基本思想就是:从无序序列头部开始,进行两两比较,根据大小交换位置,直到最后将最大(小)的数据元素交换到了无序队列的队尾,从而成为有序序列的一部分;下一次继续这个过程,直到所有数据元素都排好序。算法的核心在于每次通过两两比较交换位置,选出剩余无序序列里最大(小)的数据元素放到队尾冒泡排序的平均时间复杂度为O(n^2)。local printT = function(t)
2018-01-21 16:47:20 808 1
原创 lua中快速排序的理解
快速排序的时间复杂度是:O(n * log(n))快速排序的主要思想是分治思想快速排序是找出一个元素作为基准,然后对数组进行分区操作,是基准左边的元素的值不大于基准值,基准右边的元素值,都不少于基准值,如此作为基准的元素调整到排序后的正确位置.--[[-- - partition: 获得快排中介值位置 - @param: list, low, high - 参数描述
2018-01-21 16:25:30 319
原创 lua中handler函数的理解
在lua,封装了一个hanlder的函数,之前对它一知半解,现在记录下源码如下:function handler(obj, method)return function(...)return method(obj,...)endend由此可看到,handler通过接收的两个参数obj, method创建了一个匿名函数并将其返回,并且调用匿
2018-01-16 17:57:08 4135 1
原创 Cocoscreator-基础接口函数
cc.log('你好'); //输出日志:字符串cc.log(变量);//输出日志:变量cc.log('第' + number + '表白');//输出日志:字符串,变量混合let self = this;//绑定当前作用域的this函数.bind(this);//绑定函数所在的作用域的thiscc.game.pause();//暂停游戏(包含一切逻辑)cc.g
2017-12-04 11:31:44 7356
原创 Cocoscreator-cc.Node
1: creator是由一个一个的游戏场景组成,通过代码逻辑来控制场景跳转;2: creator场景是一个树形结构;3: 父节点, 孩子节点;4: cc.Node就是场景树中的节点对象。cc.Node属性1: name: 获取节点的名字2: active: 设置节点的可见性;3: position: 相对坐标,参照物是父亲节点;4: rotatio
2017-11-28 16:08:59 4435
原创 Cocoscreator-初试creator
Cocoscreator也面世很久了,一直都没去接触。现在去试试如何.顺便日常记录Cocoscreator属于组件化开发,它与传统开发模式的不同:1: 传统开发模式: 代码加载数据运行 cocos studio就是典型的这种模式 缺点: 没有一个统一的工具能让大家都好协作;2: 组件化的开发模式: (1)先有数据节点 (2)给数据节点添加组件,赋予节点对
2017-11-28 16:03:08 587
原创 Lua中多重继承的简单实现
--多个table表中寻找对应key的值function search(classes, key) for i = 1, #classes do local value = classes[i][key]; if value ~= nil then return value; end end
2017-05-15 17:38:01 887
原创 Ureal编译器的快捷使用
一些快捷键的使用:1.鼠标左键:控制镜头的水平移动2.鼠标右键:控制视角旋转3.鼠标左右键:控制垂直向上/向下4.鼠标右键 + WSAD:4个方向的平移5.鼠标右键+ Q:控制垂直向下6.鼠标右键 + E:控制垂直向上
2017-05-14 16:17:46 269
原创 初学cocos2dx-lua之Mac配置sumblime Text3 编译lua
1.安装Lua编译器下载Lua, http://www.lua.org/;解压后,cd进入该文件夹src目录下,在当前文件夹执行make macosx install 然后回车cd 到上一目录,执行sudo make install完成之后执行lua -v 可以看到: 表示安装成功;2.安装Sublime Text3 { "cmd
2015-10-25 00:30:41 489
原创 Cocos2d-X中的ProgressTimer
ProgressTimer即进度条,进度条在游戏开发中运用非常广泛,例如在一些格斗游戏中,显示血液的变化,还有游戏加载进度,等都离不开进度条Cocos2d-X中使用CCProgressTimer创建进度条先从一个简单的例子使用ProgressTimer屏蔽部分精灵首先在工程目录下的Resource文件夹中放一张图片然后创建一个ProgressTimer类
2015-05-08 01:51:40 385
转载 cocos2dx 3.x 动作的认识
1. MoveTo 和 MoveByMoveTo 就是移动到指定坐标的一个动作。MoveTo::create(float duration, const Vec2& deltaPosition)float duration :动作执行持续时间,单位为秒。const Vec2& deltaPosition:指定移动的目的坐标。MoveB
2015-05-05 23:22:19 416
转载 cocos2dx常见32种场景切换动画
本文转载自:http://www.cnblogs.com/linux-ios/archive/2013/04/09/3010779.htmlbool HelloWorld::init(){ ////////////////////////////// // 1. super init first if ( !CCLayer::init() ) {
2015-03-11 23:26:42 411
原创 记录C语言的回忆-C语言种的面向思想
主要利用C语言的结构体,来模拟C++中类的继承。直接上代码理解:#include #include #define ObjectField \ void(*onDelete)(void*); //宏定义函数指针//定义父类结构体typedef struct Object{ ObjectField}Object;#define ObjectCreate(T
2015-01-22 22:31:31 378
原创 浅谈firefly的环境配置
因为这段时间在写一个游戏,然后接触到了firefly的开源服务器框架,因为在配置过程中有些问题被坑了,所以做个笔记来记录下。一.安装python因为Firefly是采用Python编写的高性能、分布式游戏服务器框架,所以使用Firefly的前提是必须安装Python。Python在Linux、windows等操作系统下都有相应的版本,不管在什么操作系统下,它都能够正常工作。除非使用平台
2014-11-30 15:30:28 2606
原创 coco2dx中,创建精灵的各种方法
CCSprite *sp1 = CCSprite::create("icon.png");sp1->setPosition(ccp(WinSize.width*0.2,WinSize.height*0.7));this->addChild(sp1,1,1);//精灵名称,draw顺序,Tag标签;CCSprite *sp2 = CCSprite::create("icon.png",C
2014-08-06 15:53:11 616
原创 COCO2dx-学习笔记
第一天:Cocos2dx的demo有什么?1.main.cpp应该是入口类里面定义了窗口的标题eglView->setViewName("LazyGame");和窗口的大小eglView->setFrameSize(960, 540);还有AppDelegate的句柄,这个类应该是Cocos2dx主要的控制类。2.AppDelegate.cp
2014-08-04 13:40:07 594
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人