Cocos2d-x
文章平均质量分 57
2D游戏引擎
码之有道
公众号《码之有道》,一起聊游戏全栈开发!
展开
-
Cocos2d-x中的BMFont(Fnt)字体改名
客户端如果需要使用特殊字体时,美术一般会给程序BMFont字体。但是美术一般都是随意命名的,按照下图就能将BMFont字体改成我们想要的名字了。以下4处改为同样名字即可。关注公众号:《码之有道》,一起聊游戏全栈开发!1、公众号回复:【教程】获取零基础游戏开发客户端+服务端全套教程。2、公众号回复:【实战】获取企业级实战项目。3、公众号回复:【资料】获取大学四年整理的所有自学资料。...原创 2020-09-06 16:18:36 · 308 阅读 · 0 评论 -
Cocos2dx客户端崩溃的几种情况
1.客户端协议和服务端协议字段、类型、读取和写入时类型不同2.缺少贴图资源3.iOS设备,spine动画在切换场景前需要先移除(removeAllChildren())4.全局的spine动画在被移除前(切换场景,removeAllChildren())要先置为nil,并在使用前做是否为nil的判断。否则在执行相应Animation时(setAnimation(0,"animation",true))会因"无效节点"而报错。程序报错在PC上基本不会崩溃,在Android上小概率会崩溃,在iOS上原创 2020-09-06 16:13:03 · 1118 阅读 · 0 评论 -
Cocos2d-x引擎源码中的内存管理机制(面试常问)
C++内存空间:堆(动态变量)栈(局部变量)全局区(全局变量/静态变量)常量区(常量)代码段Cocos2dx中的Node、PoolManager、AutoReleasePool:PoolManager是AutoReleasePool的管理者(PoolManager可能管理着多个)AutoReleasePool,所有的Ref对象都加到AutoReleasePool中。AutoReleasePool借用智能指针的概念,将Ref对象与其绑定在一起。将Ref这个动态变量绑定到AutoRelea原创 2020-09-06 15:54:19 · 196 阅读 · 0 评论 -
Cocos2d-x 引擎源码中的纹理优化
一.什么是纹理?纹理其实也就是GPU中的一块buffer,这块buffer存储了纹理的宽*高那么多个像素点的信息。比如宽高为100*100的纹理,那么这块buffer就保存了1w个像素点的信息,每个像素点所占据的空间是由纹理格式决定的。所以纹理占据的空间大小,和纹理的尺寸相关(长*宽)、纹理格式相关。纹理占据了大量的内存。影响:1.纹理比较大、比较多的话,游戏包就会比较大,用户下载安装就会比较麻烦。2.纹理需要从CPU传给GPU,纹理较大的话,会大量占据带宽,而且传输数据是非常耗电的。3.原创 2020-09-06 15:43:29 · 252 阅读 · 0 评论 -
Cocos2dx性能优化技巧锦集(面试常问)
一、 为什么要做性能优化?因为性能优化能使游戏 加载更快、运行更流畅、不卡顿。二、优化方法:加载优化压缩图片(降低清晰度、颜色深度)和声音(降低采样率)动画:尽量使用骨骼动画替代帧动画字体:尽量使用系统字体,如果有特殊字体需求,可使用BMFont代码:引擎代码没有用到的库不要打包进去渲染优化尽量降低drawcall次数,尽量合并渲染批次,提升渲染性能。将同时使用的碎图打包成一张合图,相邻的渲染命令如果具有相同的_materialID,则会自动进行合并批处理..原创 2020-09-06 15:36:22 · 1005 阅读 · 0 评论 -
【Cocos2d-x】HttpClient实现表情包下载与显示
转载请注明出处:https://blog.csdn.net/qq_28779503 Cocos2d-x封装了3个类来处理HTTP请求: HttpRequest,HttpClient和HttpResponse. 使用HttpRequest,HttpClient和HttpResponse这3个类进行Http进行请求时,需要遵循一定流程 请求过程: 1.创建HttpRequest的实...原创 2018-07-22 11:08:56 · 381 阅读 · 0 评论 -
cocos2dx长连接BSDSocke网络通信
一、Socket网络通信一般流程服务器Socket的一般流程:(1)创建服务器Socket(Create);(2)绑定端口(Bind);(3)开启监听(Listener);(4)接收客户端请求(Accept)。(5)给客户端发送和接收数据(Send,Recv)客户端的一般流程:(1)创建客户端Socket(Create);(2)连接服务器(Connect);原创 2016-10-17 21:02:03 · 2795 阅读 · 0 评论 -
Cocos2d-x3.9 在Windows平台下编译打包成APK
1、搭建Android环境需要用到Android SDK、NDK、Ant和JDK。具体的下载及安装请参考:http://my.oschina.net/Jacedy/blog/350226?fromerr=tKn3DWnw2、对上文的补充1、SDK NDK 和ANT并不需要强制安装到同一个文件夹中,只要相应的路径配置正确即可。2、配置NDK环境变量 ①添加环境变量原创 2016-03-26 22:51:45 · 3797 阅读 · 0 评论 -
cocos2d-x-bug集
运行cocos2d-x,vs“输出”报错,错误内容是:Assert failed: child already added. It can't be added again。Assertion failed!这个错误困扰了我两天。网上关于这个bug的解释和解决方案几乎没有。看了网上关于这个错误零星的解释,我一开始以为是:精灵已经存在,这个实例化的精灵不能再次被添加,其实不是,因为我是把精灵的实原创 2016-02-27 16:56:10 · 994 阅读 · 0 评论 -
创建cocos2d-x工程及文件夹解析
1、创建工程WIN+R调出运行窗口,在运行窗口中输入cmd命令:在DOS窗口中运行:cocos new MyGame -p com.kami -l cpp -d f:/说明:new MyGame: MyGame是项目名-p : 包名 (package)-l :语言(cpp是指c++) (language原创 2016-03-12 17:32:30 · 673 阅读 · 0 评论 -
cocos2dx 常见的49中动作详解
bool HelloWorld::init(){ ////////////////////////////// // 1. super init first if ( !CCLayer::init() ) { return false; } CCSprite * sp= CCSprite::create("Icon.png");转载 2016-02-26 14:11:24 · 355 阅读 · 0 评论 -
cocos2dx2.x 与cocos2dx3.x创建线程不同方式总结
1、cocos2dx2.0 中1.配置在使用pthread之前,需要把头文件和库文件链接进来。1.1头文件pthread.h放在\cocos2d-x目录\cocos2dx\platform\third_party\win32\pthread\下,右键项目→属性→配置属性→C/C++→附加包含目录添加如下,这里要注意附加包含目录是只包含当前目录下的文件原创 2016-03-19 17:20:29 · 602 阅读 · 0 评论 -
Cocos2d-x 3.x开发中Visual Studio下libcurl库配置
1、win32中Visual Studio下libcurl库配置。Cocos2d-x 3.x引擎其实已经带有为Win32下访问libcurl库,Cocos2d-x 3.x中libcurl库文件所在位置是D:\cocos2d-x-3.9\external\curl\prebuilt\win32目录中,头文件在D:\cocos2d-x-3.9\external\curl\include\win32原创 2016-03-19 11:43:48 · 1831 阅读 · 0 评论 -
cocos2d-x学习笔记--创建对象、构造函数及初始化
在Cocos2d-x中创建对象的方法与C++开发者的习惯迥乎不同。在C++中,我们只需要调用类的构造函数即可创建一个对象,既可直接创建一个栈上的值对象,也可以使用new操作符创建一个指针,指向堆上的对象。而在Cocos2d-x中,无论是创建对象的类型,还是创建对象的方法都与C++不同。Cocos2d-x不使用传统的值类型,所有的对象都创建在堆上,然后通过指针引用。创建Cocos2d-x对象原创 2016-02-17 20:41:18 · 1713 阅读 · 0 评论 -
Cocos2d-x学习笔记-- 深入剖析HelloWorld
看到一篇好文章,深入剖析了cocos2d-x从程序到出现窗口整个的创建历程!学习!http://www.cnblogs.com/xieheng/p/3611588.html原创 2016-02-17 20:34:20 · 479 阅读 · 0 评论