1.最受欢迎的源码3D游戏引擎Unity VS 国内开源 2D 游戏引擎Cocos
2.Cocos Creator 3.x 开发2D水面波纹Shader
3.Cocos Creator如何快速接入微信小游戏好友排行榜
4.关于Cocos2dx-js游戏的jsc文件解密
最受欢迎的3D游戏引擎Unity VS 国内开源 2D 游戏引擎Cocos
国内开源2D游戏引擎Cocos的发展与特点
Cocos2d-x,作为一个轻量、源码高性能、源码跨平台的源码2D游戏开发框架,支持多种开发语言,源码其早期版本在引擎编辑器方面存在一些不足,源码wdr源码如Cocos Builder/Cocos Studio功能有限,源码难以使用。源码当前版本Cocos2d-x停留在3..2,源码不再更新,源码其发展重点转向Cocos Creator,源码分为2.x和3.x两条路线,源码前者专注于2D游戏开发,源码后者计划向3D游戏发展,源码同时兼容2D游戏功能。源码Cocos Creator 2.x版本已非常成熟稳定,是国内2D游戏市场占有率最高的游戏引擎之一,受到中小企业欢迎,市场份额约为国内2D游戏市场的%左右。TS和C++为主要编程语言,性能在V8引擎的加持下已经非常不错,V8默认开启jit,对于大多数休闲和轻中度手游来说性能已经足够。Cocos Creator引擎源码为MIT许可开源,vb仿wpe源码编辑器部分则不开源,与Unreal引擎相似。
Cocos Creator作为国内开源2D游戏引擎的后起之秀,与Laya、Eget并称国产引擎三剑客,目前已成为行业领头羊,使用Cocos Creator开发的游戏非常广泛,包括《刀塔传奇》、《剑与家园》、《天天爱消除》等。
Unity:全球最受欢迎的3D游戏引擎
Unity是由美国Unity Technologies公司开发的跨平台2D/3D游戏引擎。尽管受到了最近的收费许可协议争议影响,Unity仍然是全球游戏开发者中最受欢迎的3D游戏引擎。据The Info报道,年Unity在全球游戏引擎市场占有率超过%,在Steam上更是超过了%。Unity拥有出色的跨平台性能、较低的开发难度、强大的社区生态,是各类3D游戏项目,尤其是移动游戏的首选引擎。Unity的一个显著特点是“干净”的引擎设计,除了通用基础设施外,仙剑情缘免费源码它没有提供太多Gameplay模块,这使得开发者可以高度自由地定制游戏逻辑,学习成本较低。Unity在写实渲染技术和动画技术方面略有落后于Unreal Engine,动画控制仍然较为基础,尽管新推出的Playable API试图解决该问题,但仍存在一些问题。在更换渲染管道方面,Unity相对容易一些。在移动端适配方面,Unity在中低端设备上表现更好。Unity的写实渲染技术和动画技术虽不及Unreal Engine,但在更换渲染管道的便利性和移动端适配方面具有优势。Unity的收费模式包括个人版、Pro或企业版,以及基于开发者收入和客户端安装量的新型收费模式。C#是Unity引擎的主要编程语言,性能在IL2CPP的加持下已经接近C++,在TIOBE编程语言排行榜上常年位于前5名。Unity使得开发者有机会接触微软的C#语言,这是很多开发者可能未曾接触过的偏向桌面开发的语言。Unity支持的游戏应用商店数量众多,包括《原神》、宣传展示网站源码《崩坏3》、《王者荣耀》等。
总结:Cocos与Unity是游戏开发领域中的两个重要选择,它们在2D与3D游戏开发方面各有优势与特点。Cocos Creator以其成熟稳定的性能和相对较低的开发成本,在国内2D游戏市场占据领先地位,而Unity则以其出色的技术支持、广泛的应用场景以及丰富的社区资源,成为全球游戏开发者首选的3D游戏引擎。开发者在选择引擎时应根据项目需求、团队技术水平以及成本预算等因素综合考虑。
Cocos Creator 3.x 开发2D水面波纹Shader
使用 cocos Creator 3.8 开发 2D 水面波纹 Shader 的过程和相关技术点总结如下:
2D 波浪基本原理:给定正选波边界,范围内的片元 uv 显示,范围外的片元 uv 不显示。利用正弦波表达式:y = A * sin(w * t + offset)。将片元的 uv 坐标 uv.x 带入公式计算 y0 值。Cocos 的 uv 左上角为 (0, 0),在上方做水波纹,片元的 uv.y y0 的片元丢弃,uv.y >= y0 的片元正常显示。
实现动态水波:不断改变相同位置的 offset,得到不同的 y0 值,决定不同片元的多屏控制源码显示和丢弃,使水波动起来。
编写 Shader 步骤:
第步:新建标准 2D Shader 模板,正常显示。复制 buildin-sprite Shader 模板,创建材质并设置到 Sprite 组件上。
第步:定义控制参数:baseLine、振幅 A、角速度 wSpeed。
第步:修改 Fragment 着色代码,实现基准线功能。基准线以上的片元丢弃,基准线以下的片元保留。
第步:将基准线加上正弦波处理,offset 为 uv.x,值为 A * sin(offset),将 baseLine 转换为正弦波分界线。
第步:让正弦波动起来。在 sin 表达式中加上 w*t,其中 cc_time.x 为从启动后到现在的累计时间,随时间变化,value = A * sin(uv.x * .0 + wSpeed * cc_time.x),实现波形周期变化。
完整 Shader 代码:在 cocos Creator 3.8.0 中编写。
欲获取项目工程源码和更多教学视频,请关注我们。
Cocos Creator如何快速接入微信小游戏好友排行榜
在Cocos Creator中快速接入微信小游戏好友排行榜,主要涉及两种方式:纯JS代码接入和代码+IDE的方式接入。纯JS代码接入涉及初始化一个节点以绘制子域的sharedCanvas,并实现子域的绘制逻辑。通过以下步骤可实现快速开发好友排行榜:
首先,初始化一个Node节点,添加WXSubContextView组件,该组件能以一定的帧率自动绘制sharedCanvas,开发者无需操心。将此节点添加到场景中,即可展示效果,隐藏节点则可关闭。接下来,实现子域的绘制逻辑,参照官方示例,使用XML、CSS和JS绘制排行榜。
配置插件引用步骤如下:
在game.json中添加插件引用。
在开放数据域内引用插件。
通过以上两步操作,即可轻松绘制出好友排行榜。
另一种方式则是利用Cocos IDE工具,通过拖拽创建画布节点,简化操作流程。体验成品,只需扫描小游戏码即可。
若需好友排行榜源码,可私信获取。
关于Cocos2dx-js游戏的jsc文件解密
上期关于Cocos2dx-js游戏的jsc文件解密教程引发了一些疑问,本文将解答一些常见问题。
首先,我们通过CocosCreator开发工具构建并编译一个案例js工程,发现游戏中存在脚本加密选项。构建后,得到一个简单的样本APK。在APK中,我们通过Jadx-gui工具解析Java层源码,关注assets目录下二进制源代码的加载情况。在入口Cocos2dxActivity的onLoadNativeLibraries函数中,我们找到了加载libcocos2djs.so文件的步骤,该文件位于AndroidManifest.xml中。
初步分析显示,加载Assets目录资源的操作不在Java层进行。接着,我们参考“jsc反编译工具编写探索之路”一文,将注意力转移到libcocos2djs.so文件上。在Cocos2dx源码中,我们发现其使用的是xxtea加密和解密算法,与Cocos2dx-lua的加密解密过程类似。
在游戏实例分析部分,我们以两个游戏案例为例进行解密。对于游戏A,通过十六进制编辑器搜索libcocos2djs.so文件中的Cocos Game字符串,未发现相关信息。使用IDA分析工具对libcocos2djs.so进行深入研究,发现导出函数名清晰,没有添加额外的安全手段。通过搜索xxtea / key相关函数,我们找到了几个相关函数。在jsb_set_xxtea_key函数中,我们尝试直接设置key值,并发现一个可疑的参数v,用于解密jsc文件。通过回溯该函数的调用路径,我们成功获取了Key值,并成功解密游戏文件。
对于游戏B,虽然Key值不像游戏A那样明文显示,但通过搜索附近的字符串,我们发现可疑的Key值与常规的Cocos Game字符串共存。尝试使用此Key值解密游戏文件,同样取得了成功。对比游戏A和游戏B的关键代码,我们发现密匙都在applicationDidFinishLaunching函数内部体现。此函数在Cocos2d-x应用入口中,当应用环境加载完成时回调。理解CocosCreator构建项目的过程后,我们知道游戏应用环境加载完毕后,该函数内部将Key值传入解密函数中,解密函数将jsc文件转换为js文件,并拷贝到内存中,游戏开始调用js文件,进入游戏界面。
在其他关键函数的分析中,我们注意到在xxtea_decrypt函数中存在memcpy和memset操作,表明在进行内存拷贝数据。通过CocosCreator源代码jsb_global.cpp文件,我们得知传入xxtea_decrypt函数的第三个参数即为解密的Key值。因此,我们可以通过Hook libcocos2djs.so文件加载时的xxtea_decrypt函数来获取Key值。使用Frida框架编写简单的js脚本进行Hook操作,可以成功获取Key值。在获取Key值后,可以参照CocosCreator源代码实现解密逻辑,或者利用封装好的解密程序进行文件解密。
最后,对于解密工具的选择,我们推荐使用一些已封装的加解密程序,例如jsc解密v1.,它能够满足当前Cocos2dx版本的文件加解密需求,并提供较为简单的操作方法。同时,欢迎各位分享自己的解密方法和见解,共同推动社区的发展。
2024-11-19 08:221067人浏览
2024-11-19 07:261172人浏览
2024-11-19 07:091047人浏览
2024-11-19 06:291009人浏览
2024-11-19 06:272959人浏览
2024-11-19 06:02989人浏览
1.英雄联盟源代码娜美皮肤在哪里领 进来看看2.quartz每月最后一天执行 报错 定时59 59 23 L * ?英雄联盟源代码娜美皮肤在哪里领 进来看看 1、英雄联盟源代码娜美皮肤官网领取地址
要落實居住正義,國民黨總統候選人侯友宜提出政見,40歲以下青年購屋「免頭期款」,要讓年輕人買得起房子。對此,專家分析,以1500萬額度來算,每個月要繳5萬5千元,對年輕人來說壓力不小;選戰對手賴清德和
中国消费者报长春讯记者李洪涛)3月21日下午,记者打开稿件专用邮箱,被一封来自吉林市的稿件所吸引。这篇题为《致敬最美调解人》的文章,作者是吉林市市场监督管理局龙潭分局铁东市场监督管理所副所长梁月。清茶