随笔分类 -  quick-cocos2d-x

摘要:是否点击到了精灵,是可以通过2种方式来判断。第一种写(我印象中的代码):sprite:setTouchEnabled(true)sprite:addTouchEventListener(function(event,x,y) --精灵点击事件的监听成功添加、 end)第二种,根据boundingBox来判断方法是:local spriteBox = sprite:getBoundingBox()在onTouch(event, x, y)的层触摸监听中有这样的一个判断。if spriteBox:containsPoint(ccp(x,y)) then --这里就是精灵点击后的处理代码、... 阅读全文
posted @ 2014-04-11 09:26 Mr轨迹 阅读(937) 评论(0) 推荐(0)
摘要:1 local scheduler = {} 2 3 local sharedScheduler = CCDirector:sharedDirector():getScheduler() 4 5 function scheduler.scheduleUpdateGlobal(listener) 6 --参数listener是需要定时执行的函数,interval这里是0(每帧执行listener) 7 --第三个参数false,表示不暂停schedule,如果为true,schedule没有启动 8 return sharedScheduler:scheduleSc... 阅读全文
posted @ 2014-04-10 17:48 Mr轨迹 阅读(3243) 评论(0) 推荐(0)
摘要:init.lua的学习开始,看大师是怎么对接口进行二次封装的~1、local ok, socket = pcall(function() return require("socket")end)if ok then math.randomseed(socket.gettime() * 1000)else math.randomseed(os.time())endmath.random()math.random()math.random()math.random()上面代码的意图是:创建一个socket,创建成功的话,ok = true,失败则ok = false。... 阅读全文
posted @ 2014-04-08 15:52 Mr轨迹 阅读(1472) 评论(0) 推荐(0)
摘要:先看廖大的文章:http://dualface.github.io/blog/2013/01/27/call-objectivec-from-lua/看完他的文章,感觉很模糊,幸好谷歌帮我找到了他的具体项目代码(在github上面)分析学习一下代码:luaoc的代码在player中运行,会提示找不到... 阅读全文
posted @ 2014-03-27 15:29 Mr轨迹 阅读(5662) 评论(1) 推荐(0)
摘要:首先通过luajavabridge,从Lua的代码中切换到Android下面,调用Android的声音捕捉相关代码,然后android端将是否成功捕捉到一定大小的声音结果返回给Lua。Lua端的相关调用操作: 1 local aboutBtn = ui.newImageMenuItem({ 2 image = aboutImgPath, 3 imageSelected = aboutImgSelectedPath, 4 x = CommonAPI:getFixedX(180) -CommonAPI:getCenterX(), 5 ... 阅读全文
posted @ 2014-03-20 14:35 Mr轨迹 阅读(758) 评论(0) 推荐(0)
摘要:一种是带有图片拉伸的纵横比,比如我们游戏开发的屏幕是320x480,目标屏幕是720x1280,这个时候计算x方向上的伸缩比scale_x = 720 / 320,y方向的伸缩比scale_y = 1280 / 480这个时候图片的拉伸是这样的:Pic.setScaleX(scale_x) , Pic.setScaleY(scale_y)图片位置同样产生伸缩:Pic.x * scale_x , Pic.y * scale_y 这样可以确保屏幕没有黑边,但是对图像有拉伸变形等问题。比如一个胖子被拉伸成了瘦子。反之亦然。在320x480下面的效果图应该这样:拉伸适应以后的效果图是这样:(明显变形了 阅读全文
posted @ 2014-03-19 15:29 Mr轨迹 阅读(1854) 评论(0) 推荐(0)
摘要:BenchMark主要是演示在绘制很多的精灵的事后,怎么样保持FPS不掉。用到了BatchNode这个概念,将需要绘制的很多精灵统一添加到BatchNode上去,然后一次性绘制。关于加载plist、png文件的方式,主要是通过:1 function game.startup()2 CCFileUtils:sharedFileUtils():addSearchPath("res/")3 display.addSpriteFramesWithFile(GAME_TEXTURE_DATA_FILENAME, GAME_TEXTURE_IMAGE_FILENAME)4 5 ga.. 阅读全文
posted @ 2014-03-16 20:03 Mr轨迹 阅读(564) 评论(0) 推荐(0)
摘要:开发过程中,在一个场景上添加了多个层以后,会使触摸事件从上层全部传递到底层响应所有相关控件。所以我们需要截断这个触摸事件.必须对quick2dx的层传递机制有个了解。官网地址:http://cn.quick-x.com/?p=1504触摸的事件传递是从上层向下层出发的。游戏开发过程中,对场景层的管理要很清晰。比如一个场景下到底有多少个层,层与层之间谁高谁低.首先确保场景的唯一性,也就是只创建唯一的场景来显示多层layer,不能把scene与layer之间的概念给混淆了。唯一的场景可以有很多的layer堆叠在上面的,但是作为一个功能齐全(有触摸监听)的场景,需要至少一个自身创建的layer添加到 阅读全文
posted @ 2014-03-14 18:30 Mr轨迹 阅读(992) 评论(0) 推荐(0)
摘要:想写好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 阅读全文
posted @ 2014-03-13 23:13 Mr轨迹 阅读(1511) 评论(0) 推荐(0)
摘要:一、打开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 阅读全文
posted @ 2014-03-12 17:35 Mr轨迹 阅读(382) 评论(0) 推荐(0)
摘要:错误提示:call to opengl es api with no current context错误纠结了我几个小时。不过还好给解决了:)从GL线程(Lua)进入UI线程(AndroidUI)后,这是我们进入了Activity1(Luajavabridge.java),调用startActivi... 阅读全文
posted @ 2014-03-10 17:27 Mr轨迹 阅读(429) 评论(0) 推荐(0)
摘要:在网上搜索了好一阵子,我项目可以正常打包生成.so文件,也可以正常生成apk文件。但是一运行就秒退,闪退了。查看logcat,说我的classnotfoundexception....我去,怎么可能找不到Luajavabridge这个类呢.....既然说找不到这个类,说明我这个类就没有生成。我是按照quick官网上面的要求来配置的,导入luajavabridge项目的依赖项libcocos2dx,可能是依赖项libcocos2dx没有加入项目中参与编译生成代码,导致了luajavabridge这个类生成失败,所以产生了类找不到的错误。但是我加了还是报错误,我换了一种方式来加载我的libcoco 阅读全文
posted @ 2014-03-07 15:24 Mr轨迹 阅读(736) 评论(0) 推荐(0)
摘要:差别在于framework_precompiled.zip包,新版本的压缩包跟旧版本的包在结构上有很大区别旧版本的压缩包:新版本的压缩包:直接在新版quick-x-player中运行旧项目:、--运行时出现失效:CCLuaLoadChunksFromZip("res/framework_precompiled.zip")在新旧quick版本中,x-player项目下面的AppDelegate.cpp文件有很大的改动。旧版本在对framework_precompiled.zip的加载是在main.lua中实现的。而新版本是直接在x-player编译的AppDelegate.c 阅读全文
posted @ 2013-12-19 11:47 Mr轨迹 阅读(601) 评论(0) 推荐(0)
摘要:网上关于cocos2dx c++版本中的图片加密方式已经很充分了。采用的是texturepacker工具的加密功能。具体步骤是参考:http://www.codeandweb.com/texturepacker/contentprotection中文翻译:http://acoder.me/encrypted-picture-resources-by-texturepacker.html由于D:\cocos2d-x-2.1.5\cocos2dx\support\zip_support目录中已经包含了相关的.cpp文件,所以直接调用代码就好了。这里是ZipUtils.h文件中的部分解释:* Set 阅读全文
posted @ 2013-12-16 13:12 Mr轨迹 阅读(1680) 评论(0) 推荐(0)
摘要:quick-cocos2dx lua脚本加密主要资源参考:http://my.oschina.net/lonewolf/blog/178515我尝试过在LuaforWindows下面用Luac.exe来生成二进制文件来执行代码,参照地址:http://www.dewen.org/q/10207然后执行时:我的命令是lua.exe luac.out 程序正常运行然后我在lua的命令行模式下试了:dofile "luac.out" 程序也正常运行但是这样的生成2进制代码在quick 2dx下面怎么运行呢,我主要思考的问题是require 路径引用的问题上面的方法是通过原生的Lu 阅读全文
posted @ 2013-11-29 18:07 Mr轨迹 阅读(1501) 评论(0) 推荐(0)
摘要:1、Lua代码书写时:BUG:local Hero = class{"Hero",function() CCLuaLog("new a Hero") return display.newSprite("pic/tank.png")end}修改:local Hero = class("Hero",function() CCLuaLog("new a Hero") return display.newSprite("pic/tank.png")end)对比可知:class()的书 阅读全文
posted @ 2013-11-28 18:28 Mr轨迹 阅读(298) 评论(0) 推荐(0)