摘要:有段时间没有写游戏代码了,这回来主要任务是要用jsb构建一个aprg动作游戏,看到3.0官方已经绑定好了armature的js函数,先来体验一把3.0新建项目比2.2方便了很多,在终端运行tools下的create_project.py, 出现新建项目的图形界面! 赞新建好一个js项目,像住场景添加一个龙骨动画:(记得在appdelegate.cpp中导入相关的绑定头文件,然后register...)ccs.ArmatureDataManager.getInstance().addArmatureFileInfo("res/d3.png", "res/d3.pli
阅读全文
摘要:cocosbuilder3中有增加了 Callback和sound effects 的timeline这个东西用来在动画播放过程中控制音效和回调动作,非常方便按住option键(alt), 点击timeline,就会出现可编辑的帧,后面就可以自行设定了。
阅读全文
摘要:发布产品,脚本代码是必须要加密的偶尔会出现编译后的jsc无法运行,或者某些jsb自定义的函数找不到,最好将require("jsb.js")的全部内容整合到一个文件,然后编译jsc具体方法:cat 文件a,文件b,,> xxx.jspython 命令行路径/cocos2d.py jscomplie -s 源文件目录 -d 输出目录;
阅读全文
摘要:默认调试使用的是debug证书,签名密码均默认,无需输入;使用别人的证书文件作为密钥时:注意有两个密码,一个密码输入后提取出alias , 另一个密码进行签名;========================使用zipalign在sdk/tools目录下zipalign -v 4 原apk 目标apk
阅读全文
摘要:最简单的适配iphone5的方案,应该算是直接用一块图片补上多出来的区域了:1:Iphone5分辨率为 1136* 640 , 需要在cocosbuilder中将ccb修改为对应的尺寸: Document-> Resolution->iphone5 Portrait / Landspace; (建立该场景要勾选对应的方案)2:然后在cocosbuider中添加sprite将场景补全到1136高度;3:在Xcode中注意一点,项目target中的Summary 里面 Launch Images 如果没有选择 Retina(4-inch)的装载图片,怎么设置进游戏后都还会有黑边;4:进
阅读全文
摘要:在游戏中要实现消息弹窗,让用户点击确认,其他区域产生遮罩,阻挡下层的事件被点击到,这是个很常用的功能,在cocos2d-x中,可以通过为layer添加事件代理来实现:pDirector->getTouchDispatcher()->addTargetedDelegate(this,priority,swallowsTouches);三个参数分别是要添加触摸事件的node, 事件优先级(默认的-128, 是最小的数字, 具有最高优先级),是否吞噬触摸事件(true为停止事件传递)这里简单说下2dx中的事件传递模型,这应该也是 2dx被开发者吐槽最多的地方:* 2dx中的事件代理分为标
阅读全文
摘要:2.1.1升级到2.1.2之后,ios正常,安卓下就部分发现载入的ccb场景无法触摸了, 解决方案是在onDidLoadFromCCB后增加一行 this.rootNode.setTouchEnabled(true);具体过程见官方贴: http://www.cocos2d-x.org/boards/20/topics/28078?r=29255#message-29255=====================================================图标处理:=====================================================图
阅读全文
摘要:============================CCBReader在iphone真机上无法读取的问题:(coco2dx版本 2.1.1)打开项目 extensions/CCBReader/CCBReader.cpp line 518行左右将 memcpy(&f, pF, sizeof(float)); this->mCurrentByte += 4;改为: memcpy((void*) &f, (const void*) pF, sizeof(float)); this->mCurrentByte += sizeof(float);原因由于ARM的编译器导致
阅读全文
摘要:1:C++中调用js方法:问题:ios中当用户通过home键将游戏转入后台时,调用js中的暂停游戏方法;AppDelegate::applicationDidEnterBackground() 和 applicationDidEnterForeground()方法是C++方式处理程序进入后台与前台的代码,在此处添加C++调用js的代码://version 2.1.3ScriptingCore* sc = ScriptingCore::getInstance();jsval nsval;JS_GetProperty(sc->getGlobalContext(), sc->getGlo
阅读全文
摘要:版本:2.1.31:cocosbuilder添加的图层,控制响应点击事件的方法是: this.rootNode.onTouchesBegan = function(){};//文件根节点; this.layername.onTouchesBegan...//文件中的某个图层 (注意这里是Touches 不是Touch )2:layer.setTouchEnabled(true/false); 可以控制图层的点击事件,但不会控制图层上按钮菜单等的点击事件;3:layer在设置setVisiable(false)后,上面的按钮菜单不会被穿透到,但是layer本身如果没有设置setTouchEnab
阅读全文
摘要:2.1.3增加了pluginX,优化了jsb绑定机制和更多的jsb绑定,所以决定升级到新版本;安装模板,重建项目,引入原先的ccb文件:1】头文件报错问题:原来的AppDelegate.cpp引入头文件:cocos2dx.hpp更名为了自动生成的generated/jsb_cocos2dx-auto.hpp和generated/jsb_cocos2dx_extension_auto.hpp两个文件;2】cc.PhysicsDebugNode undefined问题:AppDelegate.cpp中要将chipmunk和opengl 调用 sc->addRegisterCallback()
阅读全文
摘要:之前在C++ Framework中使用的CCUserDefault的系列函数,在jsb绑定集中没有找到,查了最新的2.1.2 hotfix版本也没有,上github看了即将发布的2.1.3中也没有;之后在TestJavascript中的Sys Test中找到了LocalStorage的解决方案;和CCUserDefault一样使用键值对应的存储:var ls = sys.localStorage;ls.setItem("a",1);var r = ls.getItem("a");ls.removeItem("a");若键名不存在,则可
阅读全文
摘要:游戏在主循环中增加了一个复杂的碰撞检查后,开始出现掉帧,怪物元素量大时,原本60的fps只剩20~30之间;引用cocos2d官方的一段话:Basically all the cocos2d-iphone, Chipmunk or CocosBuilder Reader APIs are going to perform almost at native speed. But you should pay attention to the following scenarios:The performance could be slow down while the garbage colle
阅读全文
摘要:'Rune's defender'游戏在安卓编译运行时出现: signal 11 (SIGSEGV) at 0xdadadade(cod=1), 程序闪退记录下排除过程1:sprite释放jsb中使用release()会出现各种奇怪的问题,将不使用的sprite都设置null了;2:粒子过多背景粒子动画,消除粒子动画都去除,问题依然存在;3:gl_max_texture_size / gl_max_texture_units4:gc_for_alloc / gc_concurrent freed5:resizing TextureAtlas capacityfrom;c
阅读全文
摘要:共用idp账号进行真机调试:(2013.3)获取idp账号后,登入provisioning portal, 下载.cer证书副本,装入keychain;从原始生成证书的机器上导出.p12的密钥(由于当时忘记备份,可直接从keychain中找到),导入到自己的mac上;从xcode的organizer向idp账号添加自己的设备;升级xcode版本高于ios版本;organize中的设备及provisioning内的证书,都亮绿灯;编译成功, good luck!注:本机调试的应用id,bundleID都无需调整;==========================================
阅读全文
摘要:之前在xcode中配置了cocos2dx-javascript的程序,但是在编辑js资源文件时,会发现js代码没有办法像C++那样自动提示; 在windows的vs中js的代码自动提示方法可以参考这篇文章:http://4137613.blog.51cto.com/4127613/1113786 在mac下xcode用同样的办法测试没有成功;如果有知道办法的麻烦告知:) 于是使用webstorm来代替xcode编辑js资源文件, webstorm时非常好用的Html5的IDE,也是编辑javascript最优秀的工具之一; 在官方网站下载mac版的webstorm, 地址:http://ww.
阅读全文
摘要:cocos2d-x2.1.1 的安装,此前有安装过2.1.0的话,需要在安装模板命令后增加-f ;sample中多了一个crystalcraze的游戏,效果很不错,在目录其proj.android目录下直接运行build_native.sh编译即可输出;一:将在xcode中新建cocos2dx-js项目,编译到安卓手机,大致过程如下:在xcode下创建cocos2dx项目;通过引擎目录下的create-android-project.sh创建安卓项目目录(需修改ndk和adt的地址),拷贝proj.android到我们新建的javascript目录下;(这里与之前的编译步骤都相同)main.c
阅读全文
摘要:之前在win7下使用cygwin+ndk尝试将coocs2dx编译到安卓平台,卡在一些问题上,先放一下,转到mac平台来。参考文章:http://www.raywenderlich.com/11283/cocos2d-x-for-ios-and-android-getting-started(RaywenderLich的Tutorials写得都很详细,虽然各部件版本不同,整个过程非常有价值)系统环境 :mac os x 10.8coco2dx版本:2.1.0 beta3 下载解压缩cocos2dx到本机目录Eclipse(for mac), 版本使用了google官方提供的adt-bundle
阅读全文
摘要:Ray Wenderlich 写的《How To Make A Simple iPhone Game with Cocos2D 2.X Tutorial》作为cocos2d初学者的入门demo非常合适以下是cocos2dx版本的教程,如何制作一个简单的游戏(1) Cocos2d-x 2.0.4如何制作一个简单的游戏(2) Cocos2d-x 2.0.4如何制作一个简单的游戏(3) Cocos2d-x 2.0.4感谢作者的分享,文章很详细,以下记录一些自己学习过程中的心得:=========================Start:=========================CCLaye
阅读全文
摘要:初次尝试的安卓编译没有成功,暂时没有参考价值,留下笔记,以备之后继续时间:12.12.28环境配置:操作系统 windows7 32位cocos2d-x 2.1.0 + VS2010 Test程序win32版本运行成功JDK 1.6.0-26 Eclipse adt-bundle-windows-x86 (ADT,android SDK,SDk Manager的合集)直接将java语言helloworld编译成apk 在模拟器(AVD)和真机(Meizu M9 android 4.03)上运行 调试成功 Eclipse 扩展CDT插件 (用于Eclipse编译C/C++语言) -- [通过CD
阅读全文