Cocos2d-x
文章平均质量分 84
记录我在使用Cocos2d-x开发游戏过程中遇到的问题和解决方案
CYRUS STUDIO
博客:https://cyrus-studio.github.io/blog
展开
-
地图迷雾效果的实现(源码)
参考文章地址:迷雾效果实现原理:http://bbs.9ria.com/thread-157487-1-1.html地图编辑:http://www.benmutou.com/archives/482源码C++代码:FogLayer.h#ifndef _FOG_LAYER_H_#define _FOG_LAYER_H_#include "cocos2d.h"USING_NS_CC;//迷雾层class FogLayer :public CCNode{public: //迷雾原创 2014-07-18 15:09:13 · 4252 阅读 · 0 评论 -
【Cocos2d-x】Cocos2d-x3.x创建项目
下面的代码是Cocos2d-x3.x用于创建项目的脚本文件,把该脚本放在cocos2d-x-3.2\tools\cocos2d-console\bin目录下,生成的项目在cocos2d-x-3.2\projects目录下@echo offset /p projectName=请输入项目名称:if "%projectName%"=="" goto projectEmptyset原创 2014-11-01 14:07:51 · 943 阅读 · 0 评论 -
Flash中导出在Cocos2d-x中使用的精灵表
Flash中导出在Cocos2d-x中使用的精灵表,修改导出脚本,修改导出文件的命名规范原创 2014-11-11 09:36:20 · 2266 阅读 · 0 评论 -
【Android】定位与解决anr错误记录
问题描述cocos2d-x游戏项目android工程接入sdk,支付成功后,java代码回调lua方法,产生了anr。如何定位anr?在data/anr/traces.txt文件中记录和anr错误信息。可以使用RE管理器查看该文件。在日志信息中可以看到回调方法中调用的cocos2d-x的音频引擎播放音效的方法。就在这里产生了anr。我这里使用的是cocos2原创 2015-03-17 09:01:46 · 5321 阅读 · 0 评论 -
Cocos2d-x中C++回调Lua函数
前言 最近做一个lua异步加载纹理的功能,在C++回调lua函数时,有时会发生崩溃的情况,原因可能是我直接使用了lua的api对堆栈操作而导致了数据出错,其实Cocos2dx已经封装好了相关的api,所以调用Cocos2dx的api就可以很方便的调用Lua函数。在C++中如何引用Lua函数?通过查看CCScheduler中的scheduleScriptFunc方法可以看到在C++代码中是用unsigned int表示Lua函数的,其实int类型也可以。示例代码AsynRes原创 2014-09-27 15:40:56 · 3622 阅读 · 0 评论 -
【Cocos2d-x】控制label中指定位置的字符的动作
效果图:原创 2014-10-25 21:09:10 · 933 阅读 · 0 评论 -
【Cocos2d-x】可擦除的Layer:ErasableLayer
说明ErasableLayer是一个可擦除的Layer,可实现类似橡皮擦、刮奖等效果。原理是通过颜色混合实现的。关于颜色混合可查看这篇文章>>点击查看<<。测试环境:cocos2d-x3.3、cocos2d-x3.5项目地址:https://coding.net/u/linchaolong/p/ErasableLayer/git源码这里创建了一个蓝色的LayerColor,并擦除该Layer。原创 2015-04-30 08:58:49 · 1570 阅读 · 0 评论 -
【开源项目】excel导出lua配置表工具
【开源项目】excel导出lua配置表工具项目地址:https://coding.net/u/linchaolong/p/Excel2Lua/git开发语言:Java说明:1.因为是使用Java语文开发的,所以是跨平台的。需要Java运行环境(https://www.oracle.com/java/index.html)。2.支持的excel文件格式:xls、xlsx。3.支持在单元格中插入外部文件的内容。excel配置表示例:第一行为key,第二行为描述。第一列的值为该行tab原创 2015-04-22 22:27:11 · 4156 阅读 · 0 评论 -
【Cocos2d-x】截图分享功能
Cocos2d-x截图实现#include "cocos2d.h"USING_NS_CC;// 设置纹理宽、高、像素质量CCRenderTexture* tx = CCRenderTexture::create(CCDirector::sharedDirector()->getWinSize().width, CCDirector::share原创 2015-03-19 09:41:12 · 3346 阅读 · 0 评论 -
【Cocos2d-x】自定义环形菜单
思路1.定义一个类继承CCMenu,并重写itemForTouch方法,该方法在CCMenu被触摸的时候调用,用于获取触摸的菜单条目。在itemForTouch方法中自定义触摸判定。2.定义一个方法(这里是swirlItemsRadially),在该方法中调用this->getChildren()迭代菜单中每个条目,计算它们的位置,调用item的runAction方法增加动画效果(这里使用贝塞尔曲线实现动画效果【点击查看关于贝塞尔曲线】)。代码效果图:项目地址:https://cod原创 2015-03-08 20:57:42 · 1878 阅读 · 0 评论 -
【Cocos2d-x】编译Android工程时提示error: 'GL_LINE_SMOOTH' was not declared in this scope
在Cocos2d-x项目中用到了OpenGL,使用GL_LINE_SMOOTH开启线条抗锯齿。 ccDrawColor4B(50, 26, 12, 255); // 设置线宽 glLineWidth(2.0f); // 启用线段反锯齿 glEnable(GL_LINE_SMOOTH); // 画第一条线 ccDrawLine(startPoint1,endPoint);原创 2015-02-13 15:42:01 · 3357 阅读 · 0 评论 -
【Cocos2d-x】PhysicsEditor的使用
下载与安装PhysicsEditor物理编辑器介绍1.VertexHelper免费、开源的物理编辑器,只能在Mac平台下使用。2.PhysicsEditor收费,支持windows与mac。可免费使用,有功能限制。这里使用的是PhysicsEditor。PhysicsEditor下载地址:下载地址一:https://www.codeandweb.com/physicseditor下载地址二:http://pan.baidu.com/s/1mgp8eHa在PhysicsEdito原创 2015-01-13 00:45:27 · 3038 阅读 · 0 评论 -
【Cocos2d-x】物理引擎使用入门
相关概念什么是物理引擎?科学模型:科学研究中对事物的合理简化。物理引擎是一个计算机程序模拟牛顿力学模型,使用质量、速度、摩擦力和空气阻力等变量。可以用来预测这种不同情况下的效果。它主要用在科学模拟和电子游戏中。一般,物理引擎只负责物理计算,而不进行画面渲染。关于box2dBox2D是一款免费的开源二维物理引擎,由Erin Catto使用C++编写。它已被用于蜡笔物理学、愤怒的小鸟、地狱边境等游戏的开发。Cocos2d-x本身已经集成box2d。以上解释来自维基百科。Box原创 2015-01-12 02:07:16 · 4332 阅读 · 0 评论 -
【Cocos2d-x Lua】http工具类封装
实现该工具类对Cocos2d-x中的HttpClient进行了封装,使可以在Lua中实现http异步请求。LuaHttpClient.h#ifndef __LUAHTTPCLIENT_H__#define __LUAHTTPCLIENT_H__#include "cocos2d.h"USING_NS_CC;#include "cocos-ext.h"USING_NS_CC_EXT;// 参数封装类class LuaParams{public: stat原创 2014-12-23 01:51:10 · 2893 阅读 · 0 评论 -
【Cocos2d-x Lua】异步任务工具类
Cocos2d-x Lua 异步任务工具类 多线程的使用原创 2014-12-02 09:55:39 · 2954 阅读 · 0 评论 -
【Cocos2d-x Lua】操作数据库封装类
cocos2d-x lua操作数据库hkf原创 2014-11-20 22:51:45 · 2451 阅读 · 0 评论 -
Cocos2d-x中Lua脚本的加密
参考文章地址:http://www.cocoachina.com/bbs/read.php?tid=205802使用方法:(1)在cocos2dx\cocos2d-x-2.2.1\scripting\lua\luajit\LuaJIT-2.0.1\src目录下创建一个文本文件,拷贝以下脚本内容到文本文件中,修改文本文件后缀名为bat脚本说明:1.不影响源文件2.源文件目录下(包括所子目录)所有lua文件都会加密3.加密文件输出保持源文件结构一键加密Lua完成步骤(1)后,配置inpu原创 2014-08-05 01:18:49 · 1685 阅读 · 0 评论 -
【Cocos2d-x】绑定C++自定义类到Lua
使用tolua++工具在Lua中使用C++自定义类原创 2014-07-14 03:08:51 · 3173 阅读 · 1 评论 -
【Cocos2d-x】实现资源热更新
热更新介绍什么是热更新?游戏客户端启动时,主动请求服务端检查版本号,并更新资源到本地。应用场景:情况一:游戏客户端已经发布了,但突然发现有个比较严重的bug需要修复。这时需要更新游戏的代码(Lua代码)。情况二:情人节到了,需要搞个活动,在游戏中营造一个节日氛围。这时,需要更新游戏资源或增加一些功能。好处:不需要重新打包和提交应用到市场等待审核。热更新流程原创 2015-01-01 20:44:32 · 5658 阅读 · 0 评论 -
【Cocos2d-x】使用贝塞尔曲线(Bezier)实现精灵抛物线运动
【Cocos2d-x】使用贝塞尔曲线(Bezier)实现精灵抛物线运动原创 2014-12-20 09:14:04 · 29998 阅读 · 0 评论 -
【Cocos2d-x】实现翻牌效果
翻牌效果可以使用CCOrbitCamera实现,这是一个CCAction,使精灵视角按照球面坐标轨迹 围绕屏幕中心进行旋转。【关于CCOrbitCamera】翻牌需要两个精灵,一个表示牌的正面,一个表示牌的背面。当执行翻牌动作的时候:初始化正面的角度为向左90度、背面为0度——背面向右旋转90度——正面向右旋转90度,这就实现了一个翻牌的效果。api说明:t:动作时长原创 2014-12-25 17:54:29 · 8882 阅读 · 4 评论 -
【Cocos2d-x】可以显示在线图片的CCSprite
【Cocos2d-x】可以显示在线图片的CCSprite原创 2014-12-18 00:57:32 · 2870 阅读 · 1 评论 -
【Cocos2d-x】使用BSD Socket与Java Socket进行网络通信
【Cocos2d-x】使用BSD Socket与Java Socket进行网络通信原创 2014-12-04 16:54:07 · 3019 阅读 · 0 评论 -
【Cocos2d-x】集成wxSqlite3到Cocos2d-x
集成wxSqlite3到Cocos2d-x,并编译到Android、IOS平台原创 2014-11-19 19:28:05 · 3852 阅读 · 0 评论 -
【Cocos2d-x】数据加密解密
Cocos2d-x 数据加密解密原创 2014-11-17 23:29:14 · 4615 阅读 · 1 评论 -
【Cocos2d-x】pthread库的使用
【Cocos2d-x】pthread库的使用原创 2014-11-29 17:57:40 · 2583 阅读 · 0 评论 -
【Cocos2d-x】实现可上下左右无限滚动的背景
说明:(1).相关参数1.speed(速度)2.direction (方向(横向、竖向滚动))3.length(可视区域长度)4.imgs(参与滚动的图片,至少两张)(2)实现思路1.根据方向而选择图片的宽或高初始化图片的位置2.定时器根据速度定时更新背景位置,当图片超出可视区域时,设置图片的位置到末尾。原创 2014-11-26 23:33:06 · 2811 阅读 · 0 评论 -
【Cocos2d-x】CCLabelTTF在Android上引发的内存泄露问题
11-24 09:44:50.405: D/dalvikvm(14453): GC_CONCURRENT freed 733K, 4% free 41883K/43207K, paused 1ms+2ms, total 250ms11-24 09:44:50.405: D/dalvikvm(14453): WAIT_FOR_CONCURRENT_GC blocked 237m原创 2014-11-24 09:49:51 · 1785 阅读 · 0 评论 -
【Cocos2d-x】CCControlButton状态按钮的使用
继承关系#include 类 Control 继承关系图:原创 2014-11-06 22:57:18 · 2704 阅读 · 0 评论 -
Cocos Code IDE扩展代码提示
Cocos Code IDE增加Cocos2d-x2.15代码提示原创 2014-10-16 23:50:25 · 3713 阅读 · 0 评论 -
Cocos2d-x使用ClippingNode实现遮罩效果
关于ClippingNode以下解析来自官方文档:http://cn.cocos2d-x.org/doc/cocos2d-x-3.0/d2/d06/classcocos2d_1_1_clipping_node.htmlClippingNode类 参考ClippingNode是Node的子类。 使用模板(stencil)绘制它裁剪的内容(子节点)。 模板(stencil)是另一个节点(Node),它不会被绘制。 裁剪是通过使用模板的(alphaThreshold调节的)alpha部分完成的。 更多.原创 2014-10-15 09:46:25 · 6901 阅读 · 0 评论 -
BMFont字体编辑器的使用
BMFont字体编辑器的使用编辑字体原创 2014-09-06 22:26:08 · 6727 阅读 · 1 评论 -
Cocos2d-x层(Layer)动画的实现
实现原理 平时当我们添加一个CCLayer到场景中时,如果直接addChild把CCLayer添加到场景会显得有些不自然,对于场景的切换cocos2d-x官方已经有封装好切换动画了,但层的切换却没有,但是我们可以通过runAction方法来实现动画效果。 实现CCLayer的进场动画 1. 层动画的定义(比如从0放大到1倍) 2. 重写CCLayer的onNodeEnter方法,在方法实现的调用自定义层动画 实现CCLayer退出动画 1. 层原创 2014-08-18 00:14:51 · 2592 阅读 · 0 评论 -
Cocos2d-x中LocalStrorage的使用
环境说明:cocos2d-x2.2.1vs2010SQLite Expert Professional 3.4.34.2256 (用于查看SQLite数据库文件)点击下载LocalStorage调用示例MyDB.h#ifndef _MY_DB_#define _MY_DB_#include "cocos-ext.h"#include "LocalStorage/LocalStorage.h"USING_NS_CC_EXT;class DB{public: static原创 2014-08-06 17:07:47 · 2064 阅读 · 0 评论 -
CCNotificationCenter实现类之间的数据通信
画图分析CCNotificationCenter是什么? CCNotificationCenter是集消息管理和管理观察者与被观察者之间关系功能的单例类。 通过sharedNotificationCenter()方法获取CCNotificationCenter的实例; 通过addObserver方法建立观察者与被观察者之间的关系,通过一个字符串key与一个Observer指针列表建立关系; 通过postNotification方法发送通知; 通过removeObserver方法移除原创 2014-07-22 00:20:06 · 1379 阅读 · 0 评论 -
Cocos2d Particle Builder粒子编辑器的使用
下载Cocos2d Particle Builder粒子编辑器安装原创 2014-07-09 10:37:38 · 5764 阅读 · 2 评论 -
TexturePacker的使用与帧动画效果的实现
TexturePacker下载地址:http://www.codeandweb.com/texturepacker原创 2014-06-27 17:59:26 · 2156 阅读 · 0 评论