scrollview 优化扩展
论坛上的关于scrollview的列表优化有很多文章,这边提供一个新思路,用于在子节点尺寸不同情况下的使用方案 先定义子节点组件一个虚函数 setVisible @ccclass("ScrollViewExItem") export…
Continue reading...论坛上的关于scrollview的列表优化有很多文章,这边提供一个新思路,用于在子节点尺寸不同情况下的使用方案 先定义子节点组件一个虚函数 setVisible @ccclass("ScrollViewExItem") export…
Continue reading...ios 在非正常换包情况下,会使原来的热更地址失效,那么我们需要判定当前的writePath是否是有添加进读取目录的,将引擎提供的热更模版修改下就能达到目的,直接上代码 var loadSearchPaths =…
Continue reading...核心公式: /** * * @param…
Continue reading...怎么查看char模式文本缓存内容?我们可以借鉴官方关于动态合图的方式在场景的最上层加上一层来显示char缓存的文本内容,废话不多说,直接上代码 小伙伴们如果不知道什么是自执行函数,随便新建一个文件后缀名改成ts,将上面代码拷入文件中既能生效
Continue reading...在用ts 开发游戏的时候,发现命名空间使用比较不友好,需要文件引入以及使用声明文件.d.ts才能做到很好的代码提示,但是在复杂类设计的情况下.d.ts书写起来也比较费劲,于是开始研究怎么才能做到用命名空间隔离作用域并且能够有很好的使用体验。当前主要实现方式是挂载在windows底下,并且将同命名空间下的对象合并,来达到效果,效果比较理想。上代码: //UIMgr.ts文件实现 /* *…
Continue reading...**前言:cocos webview 作为一个独立的容器在ui层级之上,所以我们想通过游戏内ui来操控它是不容易的事情,把操作ui直接加到webview 容器层上,可以解决这个问题 **…
Continue reading...原文发布于微信公众号https://mp.weixin.qq.com/s?__biz=MzI4MDA3MTcyMA==&mid=2247483680&idx=1&sn=49c0d6934538cac1fe79d0430459b8d1&chksm=ebbf5a67dcc8d371ca1f64da1dc7b23637cbbf1fd58e521e2cd6f4d37b4dcc79277343c81375&token=1598275063&lang=zh_CN#rd 游戏中经常会用到一些buff道具,最常见的比如建造建筑时使用的时间缩短道具,行军加速道具包,血量回复包等。在几种道具中选择最合适的道具包达到目标效果。许多游戏中的解决方法是使用贪心算法,这种只是一般可行解,并不被玩家接受。用动态规划算法可以构造出最优解。 动态规划过程是:每次决策依赖于当前状态,又随即引起状态的转移。一个决策序列就是在变化的状态中产生出来的,所以,这种多阶段最优化决策解决问题的过程就称为动态规划 我们先来构造一般意义上的最优解 假设当前我们在建造一个建筑,建筑需花费n小时的时间,玩家拥有3种道具a、b、c,分别能使建筑时间缩短1、2、3小时,我们来看看每个阶段的最优解情况…
Continue reading...cocos creator 2.x 版本中,关于热更的远程地址,版本等信息来源于工程中写入的project.manifest ,没有提供外部修改接口。如果想更自由的管理版本、热更地址配置,势必要修改源码。但是修改源码对于cocos…
Continue reading...由于 jit 不支持ios ,引擎错误开启支持导致。修改 \cocos2d-x\cocos\scripting\js-bindings\jswrapper\v8\ScriptEngine.cpp…
Continue reading...在实现cocos热更方案过程中,一切都很顺利。所有工作完成之后,发现ios 在覆盖安装之后,如果没有清理缓存,即使安装的版本是旧的也不会进行热更。这种情况,比较好理解,版本文件还在,所以比对版本文件没有问题就不会进行热更。真正出问题的是游戏启动后,竟然使用的脚本是覆盖安装后的,而不是热更缓存的。这个问题挺头疼。 经过研究发现,覆盖安装后的ios包,并不是在原来的安装包内存上覆盖替换,而是会把旧包的内存清理掉,在新的内存上安装包。放在游戏内理解即WritablePath 发生了变化,所以我们在官方的热更方案上,将新的发现加了上去
Continue reading...cocos creator 提供了safeArea 组件来适配刘海屏的情况,但是该组件只能在根节点生效,并且全屏适配,并不是很友好。我们仿造他实现一个轻量的子节点左右适配。实现如下: const…
Continue reading...