Cocos2d-X之LUA注意事项】的更多相关文章

这几天要老大要求把DragonBones移到cocos2dx 3.0 里边,并且绑定lua使用接口.因为刚学lua,使用的引擎也刚从2.2改为3.0,各种不熟悉,折腾了好几天才弄完,有空了总结一下 这篇先说一下cocos2d生成lua绑定的修改,有空的话再写一篇lua中注册回调到c++中方法   我的目录结构 假设我的目录名称是DragonBones -Cocosdx目录 -DragonBones  -c代码 -c代码头 -tools  db_DragonBones.ini genbinding…
1.0 cocos luacompile 使用方法 我用的普通的cocos2d lua,没用quick,quick好像能够对整个资源包含图像和音频都加密,打包成zip.我看了下luacompile 的 help.比較简单啊. 先在项目根文件夹下建立了一个out的文件夹,然后就用这个命令试了下: cocos luacompile -s src/ -d out/ 比预想的顺利.在out文件夹下看到了非常多luac文件.正如命令里说的.支持子文件夹.网上说luac还是会被反编译. 就加上了key. c…
require "Cocos2d"require "Cocos2dConstants"local testscene = class("testscene",function()        return cc.Scene:create()end)function testscene:create()local  scene = testscene.new()    return sceneend--默认函数function testscene…
「使用计时器」: 计时器函数原型:unsigned int scheduleScriptFunc(unsigned int handler, float interval, bool paused) 这个原型,是CC2DX中.CPP的定义模式,那么LUA中,事实上也差点儿相同的.第一个參数在LUA中,就是函数名,把你须要调用的函数写进去.第二个函数,就是间隔.单位为秒(S),填1.就是每一秒调用一次,第三个參数就是是否暂停.false,就不会暂停.详细这个暂停会怎么样,有待研究--XD 栗子:…
--翻页滚动效果local function fnScrollViewScrolling( sender,eventType)    -- body    if eventType == 10 then        local bposX = sender:getPercentage()*100        _bPosX = bposX    end    if not _bPosX then        return    end    print("-------bposX="…
这是第二篇 Cocos 2d-X Lua 游戏添加苹果内购(一) 图文详解准备流程 这是前面的第一篇,详细的说明了怎样添加内购项目以及填写银行信息提交以及沙盒测试员的添加使用以及需要我们注意的东西,结果,被移除首页了!前面第一篇的内容是这篇的基础,前面那些不弄好,下面的商品信息你是请求不到的,这点需要大家特别注意...有需要前面提到的内容的孩子可以点击链接进去自己看看!! 这篇就具体的总结我们Lua和OC交互的内容以及内购具体的代码以及结果的测试说明: 内购部分OC的代码实现 先自己总结一下整个…
转载请注明出处:http://www.cnblogs.com/Ray1024 一.简介 最近正在学习cocos2d中的lua游戏开发,因为lua开发的热更新特性,大家开发游戏好像都会优先选择lua作为开发语言. 但是遇到一个问题,用lua写一些简单的程序没什么问题,但是一旦需要一个复杂的类,在lua中直接写就感觉有些吃力.所以想到,可以把游戏开发中比较复杂的模块使用c++完成,然后导出到lua,让lua可以轻松调用. 我从头到尾完整地完成了cocos2dx-3.x中自定义类的导出过程,在网上查了…
对于一种语言,其所谓开发调试环境, 大体有以下两方面的内容: 1.开发, 即代码编写, 主要是代码提示.补齐, 更高级一点的如变量名颜色等. 2.调试, 主要是运行状态下断点.查看变量.堆栈等. 现在无论是端游还是手游(基于cocos2d)的开发, 基本模式都是c++内核 + lua逻辑的路线.对于c++的开发和调试, vs已经能很好的满足开发者的需求, 微软这方面真是值得称颂.不幸的是, lua的开发和调试,还没有一个统一的,方便的开发调试环境,这也给广大的luaer和项目造成了极大的困扰.目…
Call custom c++ from Lua cocos2d-x lua binds c++ class, class functions ,enum and some global functions to lua through auto-binding by bindings-generator(tools/bindings-generator) and some manual binding,so we can call custom c++ from lua convenientl…
一.基本数据类型: lua:  nil(空).boolean(false和nil为假).number(数值).string(字符串).table(表).function(方法).thread (线程).userdata python:  None(空).boolean(false和None为假).number(数值).string(字符串).list(列表).tuple(元表).dictionary(字典).def(函数).thread (线程) string操作: lua:   str = "…
cocos2dx的Android环境搭建(Windows/Mac) 我用的cocos2dx3.15版本的. 以下步骤是在Windows平台执行的. 创建Cocos2d-x项目 将刚才下载的cocos2dx3.15压缩包解压到你指定的文件夹里. 进入到目录cocos2d-x-3.15/tools/cocos2d-console/bin/cocos.py 打开终端运行cocos.py脚本创建文件 python cocos.py new test -p com.coco2dx.org -l cpp -…
一.下载所需软件 Java SDK   http://www.oracle.com/technetwork/java/javase/downloads/index.html  Windows x64 Eclipse  http://www.eclipse.org/downloads/packages/  Eclipse IDE for Java EE Developers  Windows x64 Android SDK  http://developer.android.com/sdk/ind…
iOS的动态部署能极大的节约成本.苹果的审核周期很长,有的时候,你可能不得不等待将近2个星期去上架你的新功能或者bug.所以动态部署是有价值的. 我这里讨论的情况不把纯web应用考虑在内,因为用户体验过于差,偶尔出现几个页面还可以,但是整个app都是的话,无疑是非常糟糕的. 理论上讲,因为OC是一门动态语言,你可以利用runtime框架,把任意脚本语言,只要该脚本的解释器是由c语言解释器写成,就可以实现由文本向代码的转变.甚至你也可以自己实现一个解释器(也许会有人喜欢造这样的轮子),不过太小众的…
用Elicpse编译cocos2d+lua的工程几点注意点记录: 1.设置工程属性Windows->Preferences->NDK目录 2.右键Android Tools->Add native 3.编辑Android.mk文件: LOCAL_C_INCLUDES $(call import-add-path, $(LOCAL_PATH)/../../../) $(call import-module, xxxx) 4.编辑Application.mk: APP_STL := gnus…
1.游戏简介 一个"记忆"类的比赛游戏.你和电脑对战,轮到谁的回合,谁翻两张牌,假设两张牌一样.就消掉这两张牌,得2分,能够继续翻牌,假设两张牌不一样,就换一个人.直到最后.看谁的得分高. 游戏设计思想能够看这篇文章<Cocos2d 游戏状态机> 2. Lua 简单面向对象 我们知道Lua是脚本语言,不是真正面向对象语言.可是面向对象好像能让代码结构更加合理.Javascript, Lua都能够模拟出面向对象.Lua面向对象还有超多种方式实现,这里当然不一一介绍. 简单来看…
lua,一款很轻量级很nice很强大的脚本语言,做为lua中使用最为频繁的table表,在使用之时还是有颇多的好处与坑的: 下面是大牛 云风的一片关于lua table的blog,可使得对lua table内在机制 窥测一二: lua 的整体效率是很高的,其中,它的 table 实现的很巧妙为这个效率贡献很大. lua 的 table 充当了数组和映射表的双重功能,所以在实现时就考虑了这些,让 table 在做数组使用时尽量少效率惩罚. lua 是这样做的.它把一个 table 分成数组段和 h…
把lua脚本做成bundle,加载字符串,变成lua对象: lua loadstring("name")() 注意:loadstring的问题: 无法访问全局local变量,需要改成 类名.变量名.local this.local 类名={}.local child.child = parent:new().local child = parent:new() 不用改.只改类里面自己要用的变量…
2014/1/26 更新 近期又发现了一个非常easy的方法,事实上coco2dx已经给我们提供设置loader的方法. 注意:有个局限性,在非android平台下调用pEngine->executeScriptFile是不调用loader的,仅仅有require这样的才会调用loader.也就是说你直接executeScriptFile("main.lua")这个脚本不能加密,main.lua里面require的才干加密 过程例如以下: 1.实现自己的loader(參考int…
1. table中不能有nil table.sort是排序函数,它要求要排序的目标table的必须是从1到n连续的,即中间不能有nil. 2. 重写的比较函数,两个值相等时不能return true 此外,当比较函数没有写的时候,table.sort默认按照lua里面的排序规则升序排序: 当额外写了比较函数时,相当于用你额外写的比较函数重载了lua中自带的"<"操作符. 这就有一个特别要注意的问题,当两个数相等的时候,比较函数一定要返回false! 如果两个值相等都, 排序函数返…
笔记总结自: http://www.runoob.com/lua/lua-data-types.html 基本数据类型: 数据类型 描述 nil 这个最简单,只有值nil属于该类,表示一个无效值(在条件表达式中相当于false). boolean 包含两个值:false和true. number 表示双精度类型的实浮点数 string 字符串由一对双引号或单引号来表示 function 由 C 或 Lua 编写的函数 userdata 表示任意存储在变量中的C数据结构 thread 表示执行的独…
android下: local luaj = require ("framework.luaj")   local ok,ret  = luaj.callStaticMethod("com/test/pokemon/testClass","getClipText",nil,"()S") 参数1:类名 参数2:静态方法 参数3:需要传的参数 参数4:返回类型 ()带表传递参数为空  S返回为string类型 public sta…
一:Flash版本号应该为CS 6.0,低版本号不提供支持 二:新建flash项目的时候应该选择ActionScript3.0 三:动画中仅仅有两种元素,一个是"元件",还有一个是"图形" 四:全部的图形必须是位图,临时不提供包括矢量图的fla文件导入,在保存项目之前您须要将全部的矢量图转换为位图. 五:每个骨骼相应一个"元件",创建元件时候能够选择影片剪辑和图像两个类型 六:每个元件相应一个贴图,不可一个元件中放多个贴图. 七:眼下除了整个人物…
-- cclog cclog = function(...) release_print(string.format(...)) end 改成这样就可以了…
二战中被称为二战飞机飞机,当然,以飞机作业.这是一个游戏,我们必须加入一个飞机--这是我们的英雄. 首先创建一个层(PlaneLayer)要显示飞机.然后,create飞机初始化方法 module("PlaneLayer",package.seeall) local plane = nil isAlive = true function create() local planeLayer = CCLayer:create() CCSpriteFrameCache:sharedSprit…
原文地址:http://blog.csdn.net/dingkun520wy/article/details/49839701 1.引入头文件 #include "cocos2d.h" #include "CCLuaEngine.h" USING_NS_CC; using namespace std; extern "C"{ #include "lua.h" #include "lualib.h" #inc…
个人觉得3.0里面, 在C++下面调用lua函数很不方便, 所以就扩展了一个类, 继承自LuaStack, 代码和使用方式如下: #ifndef __CC_LUA_STACKEX_H_ #define __CC_LUA_STACKEX_H_ #include "CCLuaStack.h" NS_CC_BEGIN class LuaStackEx : public LuaStack { public: void call_script_fun(const char* fun) { exe…
环境 windows8, cocos2d-x 3.0, 现在开始安装需要的一些其它包 1. 按README.mdown文档上面要求的, 下载在windows下要安装的东东, 主要就是python2.7.3, PyYAML-3.10.win32-py2.7, pyCheetah 这些东东在README.mdown上面都给好了连接, 直接下载就行了, 安装好python后, 在系统环境变量的PATH中设置python所在的目录2. 安装android-ndk-r9b, 下载地址:http://dl.…
用过COCOS2DX-LUA的同学们,大家都知道回调函数这个东西,在Lua中,我们可以把一个方法当成是一个参数传递给另一个方法,然后在方法中进行调用.但是我们经常要写C++代码,然后再转成Lua,那么C++中如何接收Lua方法并且进行调用呢.下面看看最近写的下载监听器的实现. 1.UpdateListener.h #ifndef __UpdateListener__ #define __UpdateListener__ #include "cocos2d.h" #include &qu…
我们主要解决如下几个问题: 转:http://www.cnblogs.com/zisou/p/cocos2dx-lua2.html http://www.cnblogs.com/sevenyuan/p/4511808.html 2,C++如何获取Lua里面一个Table(Lua利用Table实现面向对象,那就能调用Lua里面的比较高级的引用方法) 3,C++如何访问Lua里面的一个方法? 4,C++如何访问Lua里面的一个带参数的方法? 5,C++如何访问Lua里面的一个带参数的方法并且带返回值…
关于cocos2dx-lua版本中游戏时间显示问题 2015-04-19 19:07 1466人阅读 评论(0) 收藏 举报  分类: Lua(29)   cocos2d(38)  版权声明:本文为博主原创文章,未经博主允许不得转载. 时间显示问题说白了就是时差问题(下面代码片断是以lua脚本写的).一般来说,游戏中时间是以游戏服务器时间为准.游戏登录时,会从服务器接收一个时间,普遍方案是接收一个时间戳,然后客户端自己维护这个时间戳.有时,客户端会进行这个时间的显示:local ServerTi…