在IOS13.2里面播放视频后调用glReadPixels问题

    问题描述

    最近因为IOS升级为13.2后,视频无法正常播放,跟往常一样去cocos2dx/github/issues上去找到对应的request合并, 一切都很顺利,但当我使用到截图的时候(调用glReadPixels),程序就崩溃了。

    经典正则表达式语句

    推荐学习地方 http://www.zjmainstay.cn/ 会持续更新中 python 需要 pip install regex VAR_TYPE = r'id|void|int|bool|BOOL|float|double|\bCG[\w]+\b|\bUI[\w]+\b|\bNS[\w]+\b|[\w]+[ ]*\*[ ]*' 双引号里面的内容 r'\"(?:[^"\\]|\\.)*\"' 注释 (*) r'/[*][\s\S]+?[*]/' 选取方法块(objc) r'[ ]*[+-][ ]*\((%s)\)[ ]*(\w+)[ ]*(:.*)?[ ]*[\s]+?(?<rec>\{(?:[^{}]+|(?&rec))*\})' % VAR_TYPE

    ios 获取全路径问题

    问题描述

    在给游戏资源做加密的时候,发现了一个问题,加密前的对象可以正常获取fullpath,加密后就一直是nil,难道苹果会自己识别 对应资源,如果资源格式被破坏后,就没办法取到fullpath.

    cocos2dx 2.2.6 file not found

    问题描述 今天需求弄一个旧项目,于是就是官方下了一个2.2.6的版本,下载按官方配置各种 <string> file not found <cctype> file not found 解决方案 解决方法: 1.cocos2dx.xcodeproj ==> BuildSetting ==> IOS Development Target 修改为:8.0 2.bitcode 修改 NO

    android-armeabi-lib-lock

    问题描述

    cocos2dxlua.so放在armeabi-v7a下 接SDK又引入 armeabi 几个so 结果会出现找不到cocos2dxlua.so 这个文件 导致崩溃

    android apk 下载无法识别

    问题分析

    因为游戏买广告的问题,发现转化率低的可怜,就开始找原因,用各种手机测试,发现了一个问题,就是用华为的手机下载完,在下载中心无法识别文件。 我在网页下载别人的的APK的时候会弹出打开或者保存的选项,于是我就开始找原因

    cocos2dx android ui and gl threads

    问题描述 搞android SDK 的时候,因为接quickSDK没有lua版本,只好用android 原生版本,自己写 java跟lua的交互 java 跟 lua 交互有概率性的会出现闪退 问题分析 这种概率性的闪退,一般都是线程不安全导致的,于是我就去找,看到cocos2dx 里面有很多用到 mActivity:runOnUiThread(new Runnable(){ public void run() { // xxoo xxoo } }) 然后我就认为这个是cocos2dx的主线程,然后就拼命的用它去调用lua,结果就是闪退不断, 这个时候我觉得是不对的,如果这个是主线程是不可能有这个问题,于是我再去找,发现一个方法长得跟它很像的 mActivity:runOnGLThread(new Runnable(){ public void run() { // xxoo xxoo } }) 这时候我才清楚,原来这个GL线程才是我们游戏线程,UI线程是UI框架的,如果调用高级UI或者SDK就需要用UI线程。 解决方案 解决方案 cocos2dx的东西使用 GL线程 android高线UI使用 UI线程

    cocos2dx FileUtils 缓存机制

    问题描述 处理热lua更新功能,有些文件没有没有获取最新下载的资源,依然是使用旧的 问题分析 首先查看搜索路径 dump(cc.FileUtils:getInstance():getSearchPaths()) -- 结果是没有问题的 路径缓存起来 std::string FileUtils::fullPathForFilename(const std::string &filename) const { if (filename.empty()) { return ""; } if (isAbsolutePath(filename)) { return filename; } // Already Cached ? auto cacheIter = _fullPathCache.find(filename); if(cacheIter != _fullPathCache.end()) { return cacheIter->second; } // Get the new file name. const std::string newFilename( getNewFilename(filename) ); std::string fullpath; for (const auto& searchIt : _searchPathArray) { for (const auto& resolutionIt : _searchResolutionsOrderArray) { fullpath = this->getPathForFilename(newFilename, resolutionIt, searchIt); if (!