cocos2d-x-lua
文章平均质量分 51
sylalak123
这个作者很懒,什么都没留下…
展开
-
Lua笔记8-模块和包
从Lua5.1版本开始,就对模块和包添加了新的支持,可是使用require和module来定义和使用模块和包。require用于使用模块,module用于创建模块。简单的说,一个模块就是一个程序库,可以通过require来加载。然后便得到了一个全局变量,表示一个table。这个table就像是一个命名空间,其内容就是模块中导出的所有东西,比如函数和常量,一个符合规范的模块还应使require返回这转载 2015-08-08 18:01:46 · 322 阅读 · 0 评论 -
sublime text 2注册码
直接输入注册码就可以了----- BEGIN LICENSE -----转载 2017-06-17 21:25:26 · 275 阅读 · 0 评论 -
SciTe 中文设置(解决乱码,中文界面)
作为编程语言尤其是简易脚本语言的轻量级的编辑器,SciTE无疑是一种很好的选择,它整个的大小不到3M,功能却不弱。 软件从这里下载(http://www.scintilla.org/SciTEDownload.html) 你可以选择相应的版本(Windows或者Linux,安装版或者绿色版),至于Archlinux可以简单的使用命令安装:pacman -S scite转载 2017-06-19 09:44:48 · 5837 阅读 · 0 评论 -
cocos code IDE 快捷键
command + shift + r 搜索类“Ctrl +F11”,运行模拟器。“F11”,调试运行。command + H 打开“搜索”对话框,进行全局搜索。原创 2017-06-21 10:35:44 · 692 阅读 · 0 评论 -
使用BabeLua3.x在cocos2d-x中编辑和调试Lua
BabeLua是一款基于VS2012/2013的Lua集成开发环境,具有Lua语法高亮,语法检查,自动补全,快速搜索,注入宿主程序内对Lua脚本进行调试,设置断点观察变量值,查看堆栈信息等功能。如何安装请参考《系列1—BabeLua入门》转载 2017-06-21 17:53:58 · 1264 阅读 · 0 评论 -
cocos2d-x-lua:API-标签,菜单项和菜单和Scene,Layer
标签:cc.Label:createWithSystemFont,常用的方法cc后面点表示一个目录,Label类的createWithSystemFont方法创建一个标签对象。 local label = cc.Label:createWithSystemFont("Hello World", "Arial", 26) label:setPosition(cc.p(size.width/2, size.height-32)) layer:addChild(label)原创 2017-06-22 17:58:51 · 555 阅读 · 0 评论 -
cocos2d-x-lua:API-Toggle菜单
Toggle 菜单:由两个“图片菜单项”组成创建函数:cc.MenuItemToggle:create原创 2017-06-23 09:06:48 · 710 阅读 · 0 评论 -
vs2013开发调试cocos2d-x-Lua工程项目
一。安装LUA的调试工具和LUA的代码提示,见前篇《使用BabeLua3.x在cocos2d-x中编辑和调试Lua》二。下载cocos2d-x的引擎,这里使用cocos2d-x-3.3版本。原创 2017-06-22 13:04:13 · 3172 阅读 · 0 评论 -
cocos2d-x-lua:API-scene和layer
场景和层:Task1.luafunction Task1Scene:createLayer() local layer = cc.Layer:create() --create bg local bg = cc.Sprite:create("background.png") bg:setPosition(size.width/2,size.height/2) layer:addChild(bg) local turnItem =原创 2017-06-23 15:21:42 · 846 阅读 · 0 评论 -
Visual Studio:error MSB8020 (同时安装vs2012和vs2013)
状况如下:error MSB8020: The builds tools for v120 (Platform Toolset = 'v120') cannot be found. To build using the v120 build tools,转载 2017-07-03 14:43:08 · 860 阅读 · 0 评论 -
vc++工程中添加lua代码调用-增加lua的源码到工程
三。src目录是我们需要的代码,将里面的lua.c和luac.c删除,这两个文件定义了一个入口函数,而在vs里面已经有了入口函数。四。在vs里创建一个工程,选择consolewin程序,方便输出,这里不能选择预编译头文件,否则会报错。原创 2017-07-03 14:22:28 · 1601 阅读 · 0 评论 -
vc++工程中添加lua代码调用-编译lua静态库文件
一 生成lua5.3.lib1、下载并编译lua源码首先进入lua官网,下载最新版本的lua源码。转载 2017-07-03 16:18:25 · 945 阅读 · 1 评论 -
cocos2d-x-lua:API-瞬时动作
PLACE_TAG=102FLIPX_TAG=103FLIPY_TAG=104HIDE_SHOW_TAG=105TOGGLE_TAG=106actionFlag = -1 local size = cc.Director:getInstance():getWinSize()local Task3Scene = class("Task3Scene", function() return cc.Scene:create()原创 2017-06-24 09:58:50 · 830 阅读 · 2 评论 -
cocos2d-x-lua的屏幕适配
cocos2d-x-Lua使用cocos-code-IDE创建的工程没有屏幕适配的代码,可以简单的使用下面的代码来实现屏幕的适配: local director = cc.Director:getInstance() local glview = director:getOpenGLView() if nil == glview then原创 2017-06-26 11:25:12 · 1741 阅读 · 0 评论 -
Cocos2d-x 3.x lua中的定时器
在cocos2d-x3.x lua脚本中,原来引擎中的那些添加定时器的函数(schedule)没有自动绑定过来,而是引擎团队重新定义的,这里做个汇总,在 引擎根目录/cocos/scripting/lua-bindings/script 的extern.lua文件中定义了 schedule 和 performWithDelay 两个函数:function schedule(node, callback, delay)原创 2017-07-05 11:21:23 · 1190 阅读 · 0 评论 -
cocos2d-x-lua-加载官方test项目
官方的test项目是很好的学习素材!用vs2012或者vs2013来加载如下路径的工程:原创 2017-06-26 17:35:13 · 469 阅读 · 0 评论 -
cocos2d-x-lua:API-sprite
精灵:通过图片,纹理,帧来创建,通常精灵表示一张图片 --create bg local bg = cc.Sprite:create("background.png") bg:setPosition(size.width/2,size.height/2)原创 2017-06-23 11:32:15 · 672 阅读 · 0 评论 -
Lua笔记7-迭代器和泛型for
所谓“迭代器” 就是一种可以遍历一种集合中所有元素的机制。在lua中,通常将迭代器表示为函数(例如:ipairs、pairs函数)。每调用一次函数,-- 即返回集合中的“下一个”元素。一个closure结构通常涉及到两个函数:closure本身和一个用于创建该closure的工厂函数。原创 2017-05-09 17:51:16 · 244 阅读 · 0 评论 -
Lua笔记2-7-闭包2
lua中的函数是一阶类型值(first-class value),定义函数就象创建普通类型值相同(只不过函数类型值的数据主要是一条条指令而已),所以在函数体中仍然能定义函数。假设函数f2定义在函数f1中,那么就称f2为f1的内嵌(inner)函数,f1为f2的外包(enclosing)函数,外包和内嵌都具有传递性,即f2的内嵌必然是f1的内嵌,而f1的外包也一定是f2的外包。内嵌函数能访问外包函数转载 2015-08-06 19:42:36 · 326 阅读 · 0 评论 -
Lua笔记-6深入函数
在lua中,函数是一种“第一类值(Fist-Class Value)”,它们具有特定的词法域。--“第一类值” 是什么意思呢? 这表示在Lua中函数与其他传统类型的值(例如 数字和字符串)具有相同的权利。函数可以存储到变量中(无论全局变量--还是局部变量)或table中,可以作为实参传递其他函数,还可以作为其他函数的返回值。-- “词法域”是什么意思? 这是指一个函数可以嵌套在另一个函数中,内部的函数可以访问外部函数中的变量。接下来就会看到,这项听似平凡的--特性将给语言带来极大的能力。原创 2017-05-09 17:48:48 · 442 阅读 · 0 评论 -
Lua笔记9-再论函数
Lua中的函数是带有词法定界(lexical scoping)的第一类值(first-class values)。第一类值指:在Lua中函数和其他值(数值、字符串)一样,函数可以被存放在变量中,也可以存放在表中,可以作为函数的参数,还可以作为函数的返回值。词法定界指:嵌套的函数可以访问他外部函数中的变量。这一特性给Lua提供了强大的编程能力。Lua中关于函数稍微难以转载 2015-08-09 12:45:30 · 268 阅读 · 0 评论 -
Lua笔记10-非全局函数
Lua中函数可以作为全局变量也可以作为局部变量,我们已经看到一些例子:函数作为table的域(大部分Lua标准库使用这种机制来实现的比如io.read、math.sin)。这种情况下,必须注意函数和表语法:1. 表和函数放在一起Lib = {}Lib.foo = function (x,y) return x + y endLib.goo = function (x,y)转载 2015-08-10 14:33:00 · 273 阅读 · 0 评论 -
Lua笔记11-迭代器和闭包
迭代器是一种支持指针类型的结构,它可以遍历集合的每一个元素。在Lua中我们常常使用函数来描述迭代器,每次调用该函数就返回集合的下一个元素。迭代器需要保留上一次成功调用的状态和下一次成功调用的状态,也就是他知道来自于哪里和将要前往哪里。闭包提供的机制可以很容易实现这个任务。记住:闭包是一个内部函数,它可以访问一个或者多个外部函数的外部局部变量。每次闭包的成功调用后这些外部局部变量都保存他们的值(原创 2015-08-12 21:48:15 · 654 阅读 · 0 评论 -
Lua笔记12 metatable 和metamethod
--[[ 获取lua中值对应的元表]]--[[lua中的每个值都有一套预定义的操作集合。例如:数字相加,连接字符串,在table中插入键值对key-vaule等。但,我们无法将2个table相加,无法对函数比较,也无法调用一个字符串。这些操作就是lua中的元表及元表方法。可以通过元表来修改一个值的行为,使其在面对一个非预定义的操作时执行一个指定的操作。例如,假如a和b都是table,通过原创 2016-03-22 15:28:17 · 1140 阅读 · 0 评论 -
Lua笔记13 table 的__add和__index 方法
--[[ 算数类的元表,+ 方法的实现]]tbA={1,3}tbB={5,7}tbmetaformytable={}tbmetaformytable.__add=function(t1,t2) for _,var in ipairs(t2) do table.insert(t1,var) end return t1 endsetmetatable(tbA,tbme原创 2016-03-22 15:34:14 · 1610 阅读 · 0 评论 -
Lua 笔记14 table库常用函数
--[[ table 库 insert函数的操作]]tbinsert={1,2,3,4,5}table.insert(tbinsert,0) --两个参数,table,和插入的值,默认插入到table最后for _,v in pairs(tbinsert) do print(v)endtable.insert(tbinsert,1,-1) 三个参数,table,插入的位子原创 2016-03-22 16:53:14 · 261 阅读 · 0 评论 -
Lua笔记16 __tostring
mt={} --定义元表 ,注意:元表一般定义在table的一个函数中,然后将这个函数复制为另一个table,做为元表function mt.__tostring(tb) --定义__tostring 方法函数,返回的是一个字符串 local l={} -- l 用来保存 集合中所有元素的table for k,v in pairs(tb) do原创 2016-03-24 22:22:07 · 1706 阅读 · 0 评论 -
Lua笔记17 面向对象类
--[[table中存储变量,变量表示其状态,其中的函数可以看成是成员函数]]Acount={ balance=0 } --[[一个table实例对应了一个类]]function Acount.withdraw(v) Acount.balance=Acount.balance -v --[[这样定义的withdraw函数只针对Acount 对象使用,如果Acount不存在了,withd原创 2016-03-24 22:23:58 · 279 阅读 · 0 评论 -
Lua笔记18 面向对象类 self和this
--[[使用self 或者this参数来将table 实例为一个对象]]Acount={balance=0}--[[自定义的指定接受者,可以是任意字符串]]function Acount.withdraw(selffunc,v) selffunc.balance=selffunc.balance-v endA1=Acount;Acount=nilA1.withdraw(A1原创 2016-03-24 22:25:22 · 3366 阅读 · 0 评论 -
Lua笔记19 面向对象实现__index
--[[使用__index元表方法来实现table的继承特性]]Acount = { balance = 100 }function Acount:deposit(v) self.balance = self.balance +v endfunction Acount:new(o) o = o or {} --当o不存在,会定义o={} setmetatable(原创 2016-03-24 22:29:57 · 289 阅读 · 0 评论 -
Lua笔记15 __index
mt={} --定义元表 ,注意:元表一般定义在table的一个函数中,然后将这个函数复制为另一个table,做为元表function mt.__tostring(tb) --定义__tostring 方法函数 local l={} -- l 用来保存 集合中所有元素的table for k,v in pairs(tb) do l[#l+1]原创 2016-03-22 17:00:59 · 266 阅读 · 0 评论 -
Lua笔记1-lua是什么
与其他语言不同的地方,或者说Lua中独有的特性。nil(空)nil是一种类型,它只有一个值nil。一个全局变量在第一次赋值前的默认值就是nil,将nil赋予一个全局变量等同于删除它。Lua将nil用于表示一种“无效值”的情况,即没有任何有效值得情况。boolean(布尔)boolean类型有两个可选值:false和true。一定需要注意的是,在Lua中只有false和nil原创 2015-08-05 17:54:48 · 422 阅读 · 0 评论 -
Lua笔记2-变量和数据类型
--String:--指字符的序列。lua是8位字节,所以字符串可以包含任何数值字符,包括嵌入的0。这意味着你可以存储任意的二进制数据在一个字符串里。Lua中字符串是不可以修改的,你可以创建一个新的变量存放你要的字符串,如下:a = "one string"b = string.gsub(a, "one", "another") -- change string partspri原创 2015-07-27 14:03:00 · 293 阅读 · 0 评论 -
Lua笔记3-function、userdata和thread类型
function 类型初步-- lua中 函数作为 “第一类值”来看待的。 这表示 函数可以存储在变量中,可以通过参数传递给其他函数,还可以作为其他函数的返回值。-- lua既可以调用以自身lua语言编写的函数,又可以调用以C语言编写的函数。lua所有的标准库都是C语言写的,标准库中包括对字符串的操作,table-- 的操作,I/O,操作系统的功能调用,数学函数和调试函数。 应用程序也可以用C语言来定义其他函数。--原创 2015-07-27 13:00:52 · 564 阅读 · 0 评论 -
Lua笔记4-语句,控制表达式
lua 支持的常规语句基本上与C或者Pascal 语言中所支持的那些语句差不多。这些语句包括赋值、控制结构和过程调用。另外Lua来支持一些不 太常见的语句,例如 多重赋值和局部变量声明。原创 2015-07-27 15:06:35 · 616 阅读 · 0 评论 -
Lua笔记5-函数
在lua中,函数是一种对语句和表达式进行抽象的主要机制。函数既可以完成某项特定的任务,也可以只做一些计算并返回结果。 第一种情况,一句函数调用被视为一条语句;第二种情况中,将其视为一句表达式. print(4 or 6) x=math.sin(3)+math.cos(10)原创 2015-07-27 13:19:20 · 303 阅读 · 0 评论 -
Lua笔记2-6-闭包1
www.jellythink.com/archives/498转载 2015-08-05 18:57:25 · 344 阅读 · 0 评论 -
cocos2d-x-lua 单点触摸事件
示例代码: local player = cc.Sprite:create(fileName) player:runAction(self:flyaction()) --touch move -- player:setTouchEnabled(true) -- "setTouchEnabled" is not use In 3.3 function onTouchBegan(pTouch,pEvent)原创 2017-07-05 17:18:05 · 2529 阅读 · 0 评论