android 分屏适配

    问题描述 由于 android 可以开启分屏和华为的折叠屏导致游戏适配问题 问题分析 官方文档 android 7.0 开始支持 multi-windows android 8.0 支持画中画 多窗口模式不会更改 Activity 生命周期 适配标识 android:resizeableActivity 画中画支持 android:supportsPictureInPicture 配置更改 android:configChanges=“screenSize|smallestScreenSize|screenLayout|orientation” 判断方法 // Activity 提供以下方法来支持多窗口显示。 isInMultiWindowMode() // 调用该方法可确认 Activity 是否处于多窗口模式。 isInPictureInPictureMode() 生命周期 onMultiWindowModeChanged() onPictureInPictureModeChanged() Cocos2d-x 的 GlView 创建流程 Cocos2dxActivity -> Cocos2dxGLSurfaceView -> Cocos2dxRender -> GLView 当屏幕尺寸发生改变的 Cocos2dxGLSurfaceView -> Cocos2dxRender -> GLView 需要处理的问题 当窗口大小发生改变的时候不重新创建OpenGLView 窗口大小改变的事件传递 java -> c++ -> lua 窗口大小改变后点击事件位置适配问题 窗口大小改变后游戏界面的适配 解决方案 在AndroidManifest.xml添加下列参数,让OpenGLView不因为调整大小而重建 // android:configChanges "smallestScreenSize|density|screenLayout" 传递尺寸更改信息 // cocos/client/platform/android/javaactivity-android.cpp void Java_org_cocos2dx_lib_Cocos2dxRenderer_nativeOnSurfaceChanged(JNIEnv* env, jobject thiz, jint w, jint h) { cocos2d::Application::getInstance()->applicationScreenSizeChanged(w, h); } 传递给lua void AppDelegate::applicationScreenSizeChanged(int newWidth, int newHeight) { // .

    模拟人工混淆器 2代

    功能展示

    之前有写过一个用简单版本的混淆器,主要是使用正则表达来解析和混淆代码,但这个方式误混和兼容性是一个很头大的问题,维护带给了我很大的麻烦, 所以我一直在寻找一个代替正则的方式,或者不要以正则为主的方式,最后还是找到了。 这些并不重要,最重要的是功能升级了哪些。

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

    问题描述

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

    模拟人工的混淆器

    个人使用混淆器背景 简单的垃圾代码生成器 https://github.com/semgilo/gen-code 开源编译混淆工具:obfuscator https://github.com/obfuscator-llvm/obfuscator 升级版本混淆工具:Hikari https://github.com/HikariObfuscator/Hikari 专业加密软件 公司购买的 几维加密 顶象加密 其它 有一个让我有点“震惊”的混淆工具,做得非常的简陋的界面,一个月需要3K,各种全局替换。希望你们没有被坑。 我只是稍微吐槽一下。 特色介绍 目前支持C++和ObjC两个语言 效果截图 为了演示精准程度,特别找了一个比较垃圾的旧代码过来混淆。 即将支持功能 方法添加额外参数 资源混淆 垃圾方法 垃圾变量 垃圾类 提供混淆工程服务(收费) 稳定后可能会考虑开源 如果有需要工程混淆,可以联系博主 QQ微信同号:9737935

    经典正则表达式语句

    推荐学习地方 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.