关于cocos2dx之lua使用TableView】的更多相关文章

在手机游戏的开发中,滚动是一项很重要的操作,而cocos2dx中使用的最广泛的就属于TableView了,只是由于cocos2dx的接口比較晦涩,所以须要一个熟悉的过程.本文主要解说怎样使用TableView. 首先当然是创建一个TableView,这比較简单,和其它控件差点儿相同.看看演示样例代码: self._skillView = cc.TableView:create(cc.size(winSize.width / 3 - 50, winSize.height - 140)) self.…
Cocos2d-x下Lua调用C++这事之所以看起来这么复杂.网上所有的文档都没讲清楚,是因为存在5个层面的知识点: 1.在纯C环境下,把C函数注册进Lua环境,理解Lua和C之间可以互相调用的本质 2.在Cocos2d-x项目里,把纯C函数注册进Lua环境,理解Cocos2d-x是怎样创建Lua环境的.以及怎样得到这个环境并继续自定义它 3.了解为什么要使用toLua++来注册C++类 4.在纯C++环境下,使用toLua++来把一个C++类注册进Lua环境,理解toLua++的用法 5.在C…
转自:http://segmentfault.com/blog/hongliang/1190000000631630 关于cocos2d-x下Lua调用C++的文档看了不少,但没有一篇真正把这事给讲明白了,我自己也是个初学者,摸索了半天,总结如下: cocos2d-x下Lua调用C++这事之所以看起来这么复杂.网上所有的文档都没讲清楚,是因为存在5个层面的知识点: 1.在纯C环境下,把C函数注册进Lua环境,理解Lua和C之间可以互相调用的本质 2.在cocos2d-x项目里,把纯C函数注册进L…
感谢大家一直以来的支持!各大商店均开始销售:京东:http://item.jd.com/11659697.html当当:http://product.dangdang.com/23659810.html<Cocos2d-x实战 Lua卷>源码及样章下载地址:源码下载地址: http://51work6.com/forum.php?mod=viewthread&tid=1198&extra=page%3D1样章下载地址:http://pan.baidu.com/s/1i3fNS&…
http://www.cocos2d-x.org/docs/manual/framework/native/v2/lua/lua-remote-debug-via-zerobrane/zh ZeroBrane Studio做为一个轻量级的Lua IDE,因为它支持跨平台(支持Windows.Mac和Linux)和支持真机调试(Andorid.IPhone和IPad),所以经常被用来调试Lua.目前,Cocos2d-x通过集成LuaSocket也支持应用ZeroBrane Studio进行测试例的…
在创建完cocos2d-x的lua项目后.打开项目的Resources中的extern.lua文件.里面有两个用于面向对象的方法.一个是用于克隆,一个是用于继承. 代码分析例如以下 --克隆一个对象 function clone(object) --用于存储被訪问过的对象的表 local lookup_table = {} local function _copy(object) if type(object) ~= "table" then--假设类别不等于table.返回当前參数…
一.cocos2dx对tolua++绑定的修正 A.c对lua回调函数的引用 在使用cocos2dx编写游戏时,我们经常会设置一些回调函数(时钟.菜单选择等).如果采用脚本方式编写游戏的话,这些回调函数也是需要写在脚本里的.实现这个功能,就需要lua将自己的函数传递给c++,c++保持对这个函数的引用,不要让这个lua函数被垃圾回收,并在适当的时候回调这个lua函数. 这种需求的一般抽象是在C环境下保存lua状态,在PIL(Programming In Lua)里有比较详尽的描述.可以使用lua…
前言 当前版本使用的是quick cocos2dx lua 3.3.UI使用cocostudio编辑器1.6.0.我们在程序里面可以使用两种方式进行解析UI.开始的时候用的是quick的方法, 结果遇到了坑(百分比控件布局CCSUILoader.lua在解析时,没有对百分比进行处理,结果方案可以自己加上去). 特别提醒: 如果在quick中使用源生的解析方案(c++),可能出现触摸bug.因为在quick中自己实现了新的触摸机制(详情请参考LuaTouchEventManager.h 中具体的实…
1.cocos2dx中的脚本架构与组件 2.quick cocos的开发优势 3.自定义c++类如何导出到lua…
之前一直用xml填配置, cocos2dx自带了xml解析接口, 非常方便. 但是, 接口好用也改变不了xml的结构字符太多, 书写麻烦, 乱七八糟的事实. 很早就想换lua, 无奈引擎没有现成接口, 也一直拖到今天. inline ccValue parseTable(lua_State *lua) { ccValue value; ccValue result; lua_pushnil(lua); != lua_next(lua, -)) { )) { case LUA_TBOOLEAN:…
前面2篇分别简单介绍 手动bind C++ 类和lua:http://blog.csdn.net/chenee543216/article/details/12074771 使用tolua++简化工作:http://blog.csdn.net/chenee543216/article/details/12172563 这篇简单聊聊 cocos2dx. 一.基本概念 所谓的lua绑定,其实目的就是导出C++的接口给lua,使得在lua中可以操作C++: 而lua和C/C++的唯一官方接口是stac…
用xcode来开发cocos2dx,结果发现一个非常纠结的问题,假设我一旦改动了一个Lua文件,我必须clean之后再build,否则改动的Lua文件不会体现出来.这是一个非常令纠结的结果,特别是我要进行调试的时候,在网上搜索了一圈,发现xcode原来能够提供一个build phase的功能,同意在build中间运行一些脚本,而这个时候仅仅要将脚本文件touch一下就能够解决这个问题,可是比較奇怪的是,假设是touch Resources文件是不行的,必须touch Resources文件夹下的…
刚开始接触cocos2d-x 下的Lua编程,主要参看了李华明大神的博客中的介绍,http://blog.csdn.net/xiaominghimi/article/category/1155088 大概了解了一下,下面这篇博客主要记录一下如何在Cocos2d-x项目中使用Lua进行开发,还有在Lua中如何使用自定义的精灵类(Lua脚本和自创建类之间的访问)这两个内容:这些内容在李华明大神的博客中都有详细的介绍,个人看我觉得有点乱,所以写下这篇入门博客. 一.如何在Cocos2d-x项目中使用L…
cocos2d-x版本: cocos2d-2.1rc0-x-2.1.2 通常我们在文件AppDelegate.cpp的applicationDidFinishLaunching()函数中设置lua代码路径方式如下: std::string path = CCFileUtils::sharedFileUtils()->fullPathForFilename(“programe/xxx.lua"); pEngine->addSearchPath( path.substr( , path.…
使用tolua++将自定义的C++类嵌入,让lua脚本使用 一般过程: 自定义类 -> 使用tolua++工具编译到LuaCoco2d.cpp中 -> lua调用 步骤一:自定义一个C++类,我定义一个类名为:MySprite MySprite.h MySprite.cpp 步骤二:根据自定义类创建一个.pkg文件,我们把自定义的MySprite类定义到.pkg文件中 注意:1>,只要根据自定类.h中的内容,至于.cpp的实现,binding后lua会自动调用类的函数 2>,书写.…
2013年是手游开发井喷的一年,也是手游市场竞争最为激烈的一年,ios市场除了刷榜.刷榜,还是刷榜,而android有点像黑市的感觉,水太深(很多渠道商已经从上游控制了流量的入口).而cocos2d-x作为国内手游2d游戏中最流行的引擎,也渐渐由c++开发转为lua,究其原因.最主要的是:通过lua写的游戏,可以实现动态更新(你知道苹果每次审核会让人疼蛋差不多一个礼拜或者更久):在很大程度上也避免了因c++空指针的问题引起的程序闪退.崩溃的问题.   说是lua开发,其实还是通过lua调用c++…
欢迎增加Cocos2d-x 交流群:193411763 转载时请注明原文出处 :http://blog.csdn.net/u012945598/article/details/38587659 在非常多游戏中,我们会看到类似下图的功能: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMjk0NTU5OA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Sout…
网上有好多写如何讲自己定义的方法绑定到lua的文章,当中都仅仅对环境配置做了简单的介绍,看到有的帖子写在绑定中遇到了各种各样的error.大部分是因为环境配置不对导致的,下面是官方的文档有标准的说明,里面说明了使用bindings-generator的环境须要,详细的如何配置路径网上多事一堆一堆的我把python用到的pyyaml和pyCheetah须要放置的路径写在了下面,全部的开发引擎都会有自己的说明文档.下面就是cocos2dx 官方文档 //如何使用 bindings-generator…
cocos2dx自带的CCBProxy真弱,还好提供了一个CCBReaderLoader.lua,但是也不好用, 于是修改了一下CCBReaderLoader,下面直接贴代码了. function NewCCBuilderReaderLoad(strFilePath,proxy,owner) if nil == proxy then return end --print("ccbnew") local ccbReader = proxy:createCCBReader() local…
为了使游戏开发更加方便快捷,我继续了protobuf在lua下的尝试. socket使用的是cocos2dx集成的websocket. 先说下环境:cocos2d-x-2.2.1 + protobuf 2.5.0 + protoc-gen-lua + Python 2.7.5 1.在protobuf目录下依次执行如下命令 python setup.py build python setup.py install 2.在protoc-gen-lua目录下的plugin目录中新建protoc-gen…
[Cocos2d-x 学习笔记 ]目录 1. 简介 TableView直接继承了ScrollView和ScrollViewDelegate.说明TableView能实现ScrollView拖动container的效果.重写了ScrollViewDelegate的委托方法scrollViewDidScroll,对ScrollView功能进行“拓展”. TableView和ScrollView都能够在可视范围内拖动container,在可视范围内展示部分的container,但是两者也有明显的不同.…
记得把extern.lua拷贝到你的资源目录,这里要用到 require "extern" MyLayer = class("MyLayer", function(fileName) return CCSprite:create(fileName) end ) function MyLayer.CreateWithFile(fileName) local o = MyLayer.new(fileName) o.m_nA = return o end function…
转自:http://www.benmutou.com/blog/archives/49 1. Lua的堆栈和全局表 我们来简单解释一下Lua的堆栈和全局表,堆栈大家应该会比较熟悉,它主要是用来让C++和Lua通信的,是的,它们并不认识对方,只能通过堆栈来沟通,就像写信一样. Lua的全局表又是什么呢?可以想象成是一个map哈希表结构,比如Lua有一个变量: name = “hello” 那么,全局表就存放了”name”和”hello”的对应关系,Lua可以通过name在全局表中查找到hello.…
现在cocos2dx3.8自己封装了以前的toLua++,比以前更好用了. 先来看一下整体步骤: 1.编写一个.ini文件. 2,修改genbindings.py脚本. 3,执行genbindings.py脚本. 4,将生成的桥接文件加入工程.5,修改lua_module_register.h.6,Lua中的使用 原文地址:http://blog.csdn.net/dingkun520wy/article/details/49839717 1.编写自己的ini文件 在cocos2d-x-3.8.…
squish是一个开源的用于打包lua脚本的小工具,它的主要功能是将多个lua文件整合成一个文件,并在此基础上做压缩和混淆等处理,混淆和压缩后的代码可以直接被执行而不需要先做解压还原等操作. 它的github地址:https://github.com/LuaDist/squish 这个工具安装和使用都很方便,下载源代码后在目录内直接make就行,特别需要说明的是,这个东西目前对lua5.2的支持还不好,所以机器上需要装lua5.1版本才可以正常运行它.你可以运行make install将它安装到…
**************************************************************************** 时间:2015-03-31 作者:Sharing_Li 转载注明出处:http://blog.csdn.net/sharing_li/article/details/44658317 **************************************************************************** 近期的游…
一.总原则:c++对象的生命期不依赖lua gc管理,手动创建的对象要手动销毁 二.引擎层在设计上就是支持脚本概念的(也就是说脚本的使用是“侵入式”的),与lua打交道的代码都封在CCLuaEngine,引擎各处模块都通过它来调用脚本,如CNode::update会调用CCLuaEngine->executeSchedule来调用脚本的update handler,再如CNode::onEnter/onExit/onCleanup等都会调用CCLuaEngine->executeNodeEve…
关于A*算法的实现过程,简单来说就是一个计算权限的过程. 首先,创建一个地图节点类,"MapNode.lua" local MapNode = class("MapNode") function MapNode:ctor() self.--行 self.--列 self._parent = nil--父节点 self.--当前节点的总开销 self.--当前节点的累计开销 self.--启发因子 end return MapNode "AStar.lua&…
之前我写游戏加载都是从一个json文件写入要加载的文件名来实现加载,但是如果资源 比较多的情况下,会导致非常难管理,需要逐个写入.所以换了另外一种方式来加载文件. 首先,我是通过场景之前的切换时候,加载下一个场景的资源,避免一次加载导致内存占 用过大,所以,我将各个场景中的资源分开单独的文件夹,如果两个或多个场景有共用的 资源可以再开多一个共用的文件夹,两个场景切换的时候都加载.然后一个场景中的文件夹 下再细分成不同类型资源的文件夹,比如spine动画文件夹,spriteframe文件夹,tex…
图片加密的方法有很多种,在cocos2dx中,经常会使用TexturePacker来加密图片,方法如下: 打开TexturePacker,点击Add Sprite添加图片,在output栏下的Texture format选择pvr.gz格式, 点击Content protection加密按钮,创建加密密钥,点击create new key来创建一个新的密钥,clear/disable删除密钥,save as global key可以将当前密钥保存成全局密钥,以后可以使用,use global k…