摘要:
开发过程中,在一个场景上添加了多个层以后,会使触摸事件从上层全部传递到底层响应所有相关控件。所以我们需要截断这个触摸事件.必须对quick2dx的层传递机制有个了解。官网地址:http://cn.quick-x.com/?p=1504触摸的事件传递是从上层向下层出发的。游戏开发过程中,对场景层的管理要很清晰。比如一个场景下到底有多少个层,层与层之间谁高谁低.首先确保场景的唯一性,也就是只创建唯一的场景来显示多层layer,不能把scene与layer之间的概念给混淆了。唯一的场景可以有很多的layer堆叠在上面的,但是作为一个功能齐全(有触摸监听)的场景,需要至少一个自身创建的layer添加到 阅读全文
摘要:
想写好Cocos2dx-Lua,不过还是想用封装版本的来写,省去了更多的代码,所以用了Quick-x。至于Cocos2dx的C++版本给我的感觉就是代码太冗余,不适合敏捷开发。(也许是我的C++太菜的原因 = =)学习Quick-x,先把大神的samples学一遍。至少开发过程中不会走弯路。如题:EditBox学习。local MainScene = class("MainScene", function() return display.newScene("MainScene")end)function newButton(imageName, lis 阅读全文
摘要:
一、打开android应用的文件读取权限: 二、Lua代码相关操作:--将str写入磁盘上function writeData(str) local writeHandler = io.open("/data/data/com.quickx.settings.demo1/files/myfile","w") writeHandler:write(str) writeHandler:close()end--根据dir路径将文件读出function readData(dir) local readHandler = io.open(dir,"r&q 阅读全文
摘要:
一个回调函数的例子,首先是我为了完成在工厂工作的任务,但是我不能一直在工厂工作,我必须知道工作完以后,就要下班回家。所以做了一个回调函数,通知我,今天工作做完了,可以下班回家啦。具体可以看代码的实现(实现的方式很多吧其实,也可以写其它形式的回调函数代码)(这个回调函数的实际用途:游戏玩家付费后,进行付费的相关操作(工厂上班),付费完成(工作结束),通知相关代码处理付费完成后的操作(下班回家))回调函数的接口:public interface ICallBack { public void workDone();}回调函数的管理器:public class FunctionManager { p 阅读全文
摘要:
错误提示:call to opengl es api with no current context错误纠结了我几个小时。不过还好给解决了:)从GL线程(Lua)进入UI线程(AndroidUI)后,这是我们进入了Activity1(Luajavabridge.java),调用startActivi... 阅读全文
摘要:
安装lua_xx_xxx.exe:1、百度Lua,进入官网。找到下载的地方(getstarted -> Installing)2、进入googlecode,然后下载。可能失败。原因是被墙了吧。使用迅雷将请求下载的地址贴过去,让迅雷来下载,可以过。3、下载完毕,安装。4、安装完成。可以使用windows cmd 输入lua。进入lua解释器交互模式,你输入一句,它编译一句、类似cmd的操作。编译lua代码:a.lua文件如下:print("Hello Lua")local a = 1local b = 3print(a+b)a = a+blocal function a 阅读全文
摘要:
在网上搜索了好一阵子,我项目可以正常打包生成.so文件,也可以正常生成apk文件。但是一运行就秒退,闪退了。查看logcat,说我的classnotfoundexception....我去,怎么可能找不到Luajavabridge这个类呢.....既然说找不到这个类,说明我这个类就没有生成。我是按照quick官网上面的要求来配置的,导入luajavabridge项目的依赖项libcocos2dx,可能是依赖项libcocos2dx没有加入项目中参与编译生成代码,导致了luajavabridge这个类生成失败,所以产生了类找不到的错误。但是我加了还是报错误,我换了一种方式来加载我的libcoco 阅读全文
摘要:
研究了一下CCSpriteBatchNode,说一下个人理解。我们通常对精灵添加的屏幕的步骤是创建精灵,添加到屏幕。现在我们使用了CCSpriteBatchNode以后,精灵的添加是首先创建精灵,然后将精灵添加到CCSpriteBatchNode上面去,最后再将CCSpriteBatchNode里面的众多精灵一次性的绘制到屏幕上面。这样就减少了渲染次数,提高了帧率。不过需要注意的是:添加进batchNode里面的精灵,都是要在CCSpriteBatchNode中是可以找到的如下面的代码: CCSpriteBatchNode *batchNode = CCSpriteBatchNode::cre 阅读全文
摘要:
方法一: //创建精灵 CCSprite *pSprite = CCSprite::create("audio_on.png"); //创建纹理 CCTexture2D *texture = CCTextureCache::sharedTextureCache()->addImage("audio_off.png"); //给精灵设置新的纹理 pSprite->setTexture(texture);方法二: CCSprite* pSprite = CCSprite::create("HelloWorld.png"); C 阅读全文
摘要:
Java实现的平面向量基本运算,其中涉及到了有关数学方面的角度、弧度转换的基本问题,记录一下,感觉大学学的线性代数都忘记的差不多了=.= 下面是一个Vector2D的向量类,里面封装了一些关于向量的基本运算的函数。//平面向量(x,y)的基本运算规则,角度弧度的转换等实现public class Vector2D { private double x; private double y; public Vector2D() { x = 0; y = 0; } public Vector2D(double _x, double _y) { x = _x; y = _y; } //获... 阅读全文