![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
cocos2dx
GJQI12
这个作者很懒,什么都没留下…
展开
-
tolua++实现分析
项目正在使用cocos2dx的lua绑定,绑定的方式是tolua++。对大规模使用lua代码信心不是很足,花了一些时间阅读tolua++的代码,希望对绑定实现的了解,有助于项目对lua代码的把控。从阅读结果上来看,起码在内存管理上,帮助还是很大的。1.tolua++如何将c++对象导入到lua里tolua++为每一个传入lua的对象建立一个userdata,userdata的值,是c++对...转载 2020-03-16 15:24:32 · 183 阅读 · 0 评论 -
我所理解cocos2d-x 3.6 lua -- Cocos如何绑定Lua自定义类
cocos2d-x 2.x 与 cocos2d-x 3.x 差异(tolua++)cocos2d-x在2.x版本里就是用toLua++和.pkg文件这么把自己注册进Lua环境里的,然而从cocos2d-x 3.x开始,用bindings-generator脚本代替了toLua++。bindings-generator脚本的工作机制是:1、不用编写.pkg...转载 2020-03-13 17:38:57 · 318 阅读 · 0 评论 -
mac下安装Cmake
cocos2dx 4.0开始需要使用cmake生成各个平台的工程,所以在ios下需要安装cmake来生成ios工程,首先去cmake官网(https://cmake.org)下载mac下的cmake.dmg安装包,下载好了直接点击安装即可,这样就可以使用cmake的IDE客户端了,但是如果想要使用cmake命令行工具怎么办呢,有以下两个方法:1.打开CMake应用,并在Tools中点击“How...原创 2020-03-10 13:07:58 · 590 阅读 · 0 评论 -
cocos2dx3.X lua绑定
1.cocos2dx3.x lua的绑定有两种方法:第一种是使用generator.py脚本根据.ini配置文件生成绑定的.cpp和.hpp文件;另一种是手动绑定,工程中cocos2d-x\cocos\scripting\lua-bindings\manual中的文件都是手动进行绑定的首先,使用generator.py自动绑定流程,要进行自动绑定需要修改.ini和genbindings...原创 2020-03-10 11:44:01 · 239 阅读 · 0 评论 -
游戏纹理优化和内存优化
1、2d游戏最占内存的无疑是图片资源。2、cocos2d-x不同平台读取纹理的机制不同。ios下面使用CGImage,android和windows下是直接调用png库。我测试了下,使用png库直接读取png会比CGImage还要节约1mb左右内存(图片所占内存4mb)但是速度要比CGImage慢一倍。时间和空间如何取舍就看实际情况了。不过最佳的选择似乎是pvr(即使android版本,即使不...转载 2019-12-27 12:06:10 · 675 阅读 · 0 评论 -
动作手游实时PVP帧同步方案(客户端)
1、概述1.1、基于UDP的帧同步方案 在技术选型方面,之所以选择帧同步方案,在Kevin的一篇介绍PVP帧同步后台实现的文章中已经做了详细叙述,这里简单摘要如下: 高一致性。如果每一帧的输入都同步了,在同样的上下文中,计算得出的结果应该也是同步的。 低流量消耗。除了帧同步,其它方案(比如状态同步)想做到高一致性,需要同步非常大量的数据。无论是对于移动网络,还是固络都是不合适...转载 2019-12-27 10:31:56 · 320 阅读 · 0 评论 -
动作手游实时PVP技术揭密(服务器篇)
前言 我们的游戏是一款以忍者格斗为题材的ACT游戏,其主打的玩法是PVE推图及PVP 竞技。在剧情模式中,高度还原剧情再次使不少玩家泪目。而竞技场的乐趣,伴随着赛季和各种赛事相继而来,也深受玩家喜爱,从各直播平台几万到几十万的观众可见一斑。然而,在移动端推出实时PK并不是一蹴而就的,本文将向大家介绍游戏的实时PVP相关技术。技术选型 实时PK的表现方式,是将N个玩家...转载 2019-12-27 10:30:29 · 483 阅读 · 0 评论 -
RVO算法
简介在介绍VO,RVO之前,需要先介绍路径规划。对Agent进行路径规划,实际上要完成的任务就是让Agent从点A无碰撞地移动到点B。而路径规划的过程是层次化的,其基本框架大致如下:High level: dijkstra等算法。 Low level: VO, RVO, ORCA等底层避障算法。很容易可以跟我们的日常生活进行类比,比如说我们要从学校的教学楼走到宿舍楼,那么以上...转载 2019-12-23 10:49:32 · 5579 阅读 · 1 评论 -
cocos2dx描边shader
Cocos2d-x 3.x的label使用了freetype字体引擎(http://www.freetype.org/),可以很轻松的实现描边和阴影效果。所以本篇文章只针对于sprite来实现描边效果。varying vec4 v_fragmentColor; // vertex shader传入,setColor设置的颜色varying vec2 v_texCoord; // 纹理坐标u...转载 2019-12-16 18:45:53 · 287 阅读 · 0 评论 -
cocos2dx剪切板
文是cocos2dx lua为例子, cocos creator js也是一样的只是桥接代码不同罢了android 平台剪切板主要考虑ui线程和gl线程的问题//设置剪切板内容 public static void setClipBoard(final String strName) { if(strName.trim().equals(...转载 2019-12-16 18:20:13 · 365 阅读 · 0 评论 -
cocos2dx接入第三方so
Android平台添加第三方.so1.将.so放到prebuild目录下。2.修改mk.例如添加的库文件是:libfmod.so。LOCAL_PATH := $(call my-dir)\##### 添加第三方so库 BEGIN ######include $(CLEAR_VARS)LOCAL_MODULE := libfmodLOCAL_SRC_FILES :...转载 2019-12-16 18:16:25 · 395 阅读 · 0 评论 -
cocos2dx渲染框架
2dx的时代UI树便利和渲染是没有分开的,遍历UI树的时候就渲染.3dx版本为了分离了ui树的遍历和渲染,先遍历生成渲染命令发到渲染队列,之后遍历渲染命令队列开始渲染.这样做的好处是渲染命令可以重用,单独的渲染可以做优化例如自动批绘制.本篇首先介绍cocos2D-X 3.x版本的渲染结构,之后会深入opengl es.mainLoopvoid DisplayLinkDirector::mai...转载 2019-12-16 18:07:54 · 127 阅读 · 0 评论 -
cocos2dx进行自动批渲染的条件
1.在cocos2dx 3.x以后,相邻的渲染命令,材质相同,会自动进行合并为一个渲染命令,cocos2dx在渲染时,调用draw函数,在draw函数中初始化渲染命令,在初始化渲染命令时会生成材质ID,生成该材质ID的参数为program,纹理ID,混合函数.所以如果想要使用cocos2dx自动进行批渲染的条件是使用相同的program,相同的纹理和相同的混合函数...原创 2019-12-16 17:44:46 · 438 阅读 · 0 评论 -
Android 平台用 Gprof 给 Cocos2d-x 做性能分析
gprof在 iOS 平台下我们可以用 Xcode 自带的 Profile 工具来测试我们程序的性能,那在 Android 平台下面要怎么搞呢?答案就是gprof。什么是 gprof 呢?引用Wiki的解释:Gprof is a performance analysis tool for Unix applications. It uses a hybrid of instrumen...转载 2019-12-12 13:33:07 · 216 阅读 · 0 评论 -
游戏测试相关的一些资源
Awesome Game Tester收集整理了游戏测试人员工作相关的一些资源清单,包括学习资料,测试工具,开源框架,效率工具等。学习资料视频游戏测试入门 游戏测试从入门到精通书籍软件测试的艺术(原书第3版)- 软件测试经典书籍 游戏测试精通- 《Game Testing: All in One》 第一版翻译 Game Testing: All in One(3rd...原创 2019-12-12 13:05:34 · 531 阅读 · 0 评论 -
Cocos开发中性能优化工具介绍(一):Xcode中Instruments工具使用
每个跟踪模板都有不同的用途,其中Leaks可以检测内存泄漏点,Allocations跟踪模板可以查看内存的使用情况。下面我们通过一个实例介绍一些Instruments工具的使用,我们来人为制造一个内存泄漏,我们在HelloWorldScene.cpp中修改代码: 1 2 3 4 5 6 7 8 9 10 11...转载 2019-12-11 18:32:56 · 334 阅读 · 0 评论 -
cocos2dx性能优化
游戏性能应该在设计编码时就需要认真对待,在按照常规处理之后需要使用工具查找游戏性能瓶颈,之后针对处理.主要的性能问题所在基本是GPU,CPU.经常涉及到游戏逻辑优化,优化效果的指标:帧率、内存、drawcall.查找 GPU 性能瓶颈的工具使用 Xcode OpenGL ES Profiler。文档链接地址如果你想 profiling 特定 GPU 的移动设备的图形性能,我们可以...转载 2019-12-11 18:14:32 · 309 阅读 · 0 评论 -
耗电量和性能优化
CPU引发的问题:由于短时间内的计算量太大,导致画面流畅性降低,俗称跳帧 发热严重,耗电量高常见的优化手段:将计算分到多个逻辑帧中进行计算,避免短时间内的性能超过负荷,俗称“分帧”(time-slice)。 将可以缓存的数据尽可能的缓存起来,避免重复计算和重复分配内存,常见的示例为“内存池”。 使用合理的算法和数据结构,比如:冒泡排序和直接插入排序在整体数组比较有序的情况下效率...原创 2019-12-11 14:24:30 · 271 阅读 · 0 评论 -
A*寻路算法优化方法
A*寻路算法是游戏开发中使用得比较多的寻路算法,主要用在rgp游戏中主角或者怪物的寻路,其寻路的效率也是比较高,但是如果一个地图比较大或者怪物比较多的时候,同时使用寻路算法会导致游戏出现卡顿现象,在大部分游戏中,角色或者怪物寻路,并不需要找最短的那条路径,在性能允许的情况下,找一条次优或者其它的路径也可以,这样可能更适合游戏,所以,我们需要根据游戏的特点,去优化寻路算法,优化A*的寻路,我能想到的...原创 2019-11-25 13:31:37 · 1735 阅读 · 0 评论 -
xcode中导入cocos2dx工程里,出现can't locate file for: -xxxx错误
出现这种错误一般情况是相关的.a文件没有加入到Xcode的搜索路径中,或者工程是从SVN更新下来的,文件夹cocos2dx/external/里面的目录下所有相应的.a文件并没有提交进去,所以在更新的时候也没有,在xcode中编译时,找不到相应的.a文件就会报错。解决方法:检查external下面的.a文件是否存在,如果不存在则加进去;在xcode中选择项目,再选择targets下面的相应原创 2017-08-17 14:32:21 · 1594 阅读 · 0 评论 -
关于cocos2dx的eclipse的"serializing cdt project settings"解决方案
在Eclipse中导入android工程,有时会出现"serializing cdt project settings"相关错误,解决方案如下:打开android工程下的.cproject文件:将文件中的原创 2017-08-14 11:33:53 · 420 阅读 · 0 评论 -
在android studio中导入cocos2dx中的android studio项目
打开Android Studio,选择Import project,如下图所示4.选择生成的Cocos项目5.选择导入选项,这里保持默认就可以6.选择工程名和路径,这里不要修改默认值7.点击Next之后会出现如下窗口这里,仅需要勾选4项即可 [Cocos路径]\cocos2d\cocos\platform\a转载 2017-08-14 18:13:27 · 4421 阅读 · 0 评论 -
cocos2dx中导入android-studio工程的相关问题
1.使用cocos2dx的python命令创建一个Lua工程,然后进入proj-android-studio目录,使用命令cocos compile -p android --android-studio 对android studio进行编译(不然cpp代码无法运行),编译成功后会在proj.android-studio/app下面生成一个libs/目录,里面包含libcocos2dlua.so...原创 2017-08-14 20:28:58 · 1521 阅读 · 0 评论 -
cocos2dx3.1.15.1打android包出现闪退
使用cocos2dx3.1.15.1打包的时候出现闪退,在eclipse中debug时,发现了闪退的位置在Cocos2dxHelper中的init函数中Cocos2dxHelper.sOBBFile = APKExpansionSupport.getAPKExpansionZipFile(Cocos2dxActivity.getContext(), versionCode, 0);这一行代码运原创 2017-09-25 11:57:25 · 1678 阅读 · 0 评论 -
用 eclipse ndk 编译 cocos2d-x for Android
Android 环境搭建不详述,,可以google,,,我用的coco2dx 是 2.14 ,2.14 用 create_project.py 脚本创建工程,Python环境配置也是很简单,这里了不说了,Python环境搭好后:cmd 进入 create_project.py目录(1)D: //切换盘符,因为我的Cocos2d-x源码在D盘...(2)c转载 2017-09-21 18:10:55 · 306 阅读 · 0 评论 -
cocos2dx3.10在Android平台,出现错误org.apache.http不存在
错误原因是android 6.0不再提供org.apache.http.*等方法,解决办法 下载org.apache.http.legacy.jar直接拷贝到工程中引用即可。org.apache.http.legacy.jar下载地址:http://download.csdn.net/download/gjqi12/9990756原创 2017-09-22 16:17:45 · 829 阅读 · 0 评论 -
TexturePacker 拆解工具
直接使用pip install untp安装该工具即可。plist 文件其实就是 xml 文件, 可以用 xml.etree.ElementTree 来解析, 恰好之前做过一个 ccb2lua 的项目, 搞起来也是轻车熟路.lsit 中关键的一个结构是:12345678910111213oooo_001.png frame {{978,582},{38,40转载 2017-10-24 13:49:53 · 2765 阅读 · 1 评论 -
cocos2dx 3.3 无法打开包括文件: “extensions/ExtensionExport.h” 问题
新建工程,添加#include "extensions/cocos-ext.h",编译,提示错误:无法打开包括文件: “extensions/ExtensionExport.h” 无法打开包括文件:“json/document.h”原因:文件路径没有包含解决办法:选择 工程--属性--通用配置--C++--常规--附加包含目录转载 2017-10-25 15:30:45 · 255 阅读 · 0 评论 -
用遗传算法加强足球游戏的人工智能
转自:http://blog.csdn.net/popkiler/article/details/1773935用遗传算法加强足球游戏的人工智能终于等够了三个月,杂志的约定已经到期,可以把这篇文章发表到网络跟大家分享。本文原发表于《游戏创造》杂志www.chinagcn.com,如蒙转载,请保留原文和本声明完整,并注明转载自恋花蝶的博客:http://blog.csdn.net转载 2017-11-21 11:01:36 · 406 阅读 · 0 评论 -
android studio导入cocos2dx 3.10的工程问题
1.导入cocos2dx的工程前先在proj.android-studio文件夹下,执行命令cocos compile -p android --android-studio进行CPP文件的编译,编译后会在app/libs/armeabi生成.so文件2.编译完后,再打开android studio工程,导入进来,导入成功后,再将cocos2dx的android库导入进工程点击Fi原创 2017-08-15 19:45:49 · 2881 阅读 · 0 评论 -
warning: unrecognized command line option "-Wno-extern-c-compat" [enabled by default]
cocos compile -p android --android-studio出错 warning: unrecognized command line option "-Wno-extern-c-compat" [enabled by default]修改Application.mk中的APP_CPPFLAGS += -Wno-error=format-secur原创 2017-11-27 15:48:03 · 3989 阅读 · 0 评论