Unity快速入门

    C#特色语法(部分是 Unity 支持的) 特别两个关键字 ref 引用传递 跟 C++的引用传递是一样的 out 从字义理解它是想把值传到外面来 是引用参数 差异 用途上不一样,在一定意义上 ref 是可以替代 out 值初始化方式,out 的值在外部并不处理,只是提供地址 特色点 Delegate 直接代理方法 可以直接合并多个操作 直接+-操作 Coroutine 启动后根据返来的 IEnumerlator 来选择 Resume 跳出协程 yield break; 下一帧 yield return null; 延迟一段时间 yield return new Delay 根据指定条件 yield return new WaitUtil(() => {return condition;}); 可以嵌套其它 IEnumerator Atribute p 有点像宏定义 提前声明一些结编译器知道的内容,会比宏看起来更直观一些 Indexer 把索引进一步的抽象出来 Property 跟 objc 的有点像,但写法不一样 Unity 界面的处理 脚本的挂载方式,直接通过 C#(LuaBehaviour) 直接在 Lua 里面搞 几个路径说明 路径 可读写 说明 Editor android ios Application.

    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.

    在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 命名修改 命名规则 -- 替换可能为关键字的对象为指定字符串 \b(?:n|t|p|str|obj|f|b|e)End\b ended -- 替换命名规则 (?<!cc.)\b(?:n|t|p|str|e|obj|f|b)([A-Z]+) \L$1 -- 替换配置方法ch_xxx ch_(\w+)(\(.*\)) cfg["formula"].$1$2 -- 替换读表方式 -- 替换类结构 C([A-Z]\w+) = (class\("\1"[\S\s]*) local C$1 = $2\nreturn C$1 -- 替换类的使用 (?<!function[ ])(?<!function[ ][ ])C([A-Z]\w+)(?:\:create|\.new)(\(.*\)) core.battle.$1$2$3 -- 替换以 C 开头的命令方式 (?<!\.)\bC([A-Z](?![A-Z]{3,}\b)[A-Za-z0-9]+)\b(?![ ]*=[ ]\d+) -- 删除 core.的命令方式 (?

    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