![](https://img-blog.csdnimg.cn/20200424090105570.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
CocosCreator
文章平均质量分 90
CocosCreator游戏引擎知识点
长生但酒狂
热爱游戏开发、图形学、Shader
展开
-
CocosCreator - Bezier曲线插件
自己用业余时间写的第一款CocosCreator小插件。Bezier插件链接Bezier曲线插件说明Bezier曲线是一款方便开发者做路径规划以及曲线运动的插件,支持可视化编辑、匀速曲线运动、支持各种缓动(InSine、OutSine等等)、支持多段曲线运动、绘制路径。方便开发者在项目组快速的实现曲线运动,不再为贝塞尔曲线不能匀速而烦恼。注意:该插件仅支持Creator 2.2.0 - 2.4.4 版本,其他版本的需要手动拷贝 Packages/bezier/Bezier 文件夹到项目中,并且需要微原创 2021-05-19 12:54:47 · 2211 阅读 · 0 评论 -
Cocos Creator - 2D扭曲Shader
前言昨天刚办完离职手续,今天闲来无事,就分享一篇关于cocos shader中的扭曲(水波纹)特效的实现吧,话不多说,直接步入正题。效果这个效果原理非常简单,就是对 texture 随机采样,当然,这个随机会有一定的约束,不能太随机,在当前uv坐标附近随机即可。也就是说对uv进行随机偏移。在shader中没有内置的随机函数,要么自己写一个随机函数,要么通过采样噪声图拿到随机值。这里我们就采用第二种方法,简单而且性能也好。(在shader中严格说来应该叫噪声,有兴趣的可以自己去查阅相关的资料)首先原创 2020-08-20 18:54:58 · 3729 阅读 · 3 评论 -
匀速贝塞尔曲线路径规划工具
在做游戏开发的时候经常会用到贝塞尔曲线来规划路径,并且在网上也没找到合适的demo,要么就是不支持高阶贝塞尔,要么就是不能匀速运动。所以决定趁着闲余时间自己写一个工具,方便以后用。并且我已经把源码放在GitHub上了,有兴趣的可以看看,希望能帮到有所需要的朋友。在线演示地址(可以直接在上面规划好后导出json文件)下面来简单演示一下该工程:初期功能比较简单,暂时只支持二阶贝塞尔,支持匀...原创 2020-01-16 20:17:27 · 5275 阅读 · 17 评论 -
A*搜索算法
作为程序员的我们可能经常会听到 A*搜索算法这个的词,听起来非常高大上,腻害,但是具体是什么呢?引用 Wiki 上的说法就是:A* 搜索算法(A* search algorithm)是一种在图形平面上,有多个节点的路径,求出最低通过成本的算法。常用于游戏中的NPC的移动计算,或网络游戏的BOT的移动计算上。该算法综合了最良优先搜索和Dijkstra算法的优点:在进行启发式搜索提高算法效率的同...原创 2019-11-28 19:07:49 · 14628 阅读 · 1 评论 -
cocos creator - WebView内部页面的交互和层级问题
我们知道creator里的WebView,VideoPlayer等特殊组件有一个非常严重的问题,就是不管你怎么设置层级,这类组件始终处于最上层!其他UI组件会被遮挡。我们打开浏览器运行,F12检测元素就可以清楚的看到他们的层级关系。如下图:通过上图我们可以清楚的看到,video(videoPlayer组件) 和 iframe(webView组件) 在 canvas(GameCanvas) ...原创 2019-11-20 14:13:58 · 16296 阅读 · 7 评论 -
cocos creator - 龙骨动画的适配
在做项目时遇到了龙骨和骨骼动画无法适配的问题,widget组件对于龙骨动画节点无效。就需要我们自己写代码做适配了。思路:根据当前屏幕分辨率与设计的分辨率的比例来缩放需要适配的节点。适配模式一般常用的有两种方式:宽度固定模式(FixedWidth):采用设计分辨率的宽度,高度跟随宽高比例缩放。高度固定模式(FixedHeight):采用设计分辨率的高度,宽度跟随宽高比例缩放。根据项目需...原创 2019-11-09 16:25:19 · 1388 阅读 · 0 评论 -
cocos creator - 自定义属性检查面板
一个自定义属性检查面板脚本let AnimationType = cc.Enum({ scale:1, move:2, fadeIn:3, jump:4});let animTypeProperties ={ 1:["startZoom","endZoom"], 2:["startPos","endPos"],}cc.Class({ ...原创 2019-11-07 19:14:33 · 2396 阅读 · 0 评论 -
cocos creator - 动态修改设备屏幕方向
web:web修改就比较简单了,直接调用cocos creater内置方法:cc.view.getFrameSize() 获取视图中边框尺寸,把宽和高交换一下就可以了,如下: changeOrientation:function(){ let w = cc.view.getFrameSize().width; let h = cc.view.getFrameSize().hei...原创 2019-11-07 19:12:18 · 4954 阅读 · 0 评论 -
videoPlayer组件一直处于在最上层的问题
1.开启canvas透明权限,并且设置透明度为0// 在main.js 加入以下代码:cc.macro.ENABLE_TRANSPARENT_CANVAS = true; //加在 cc.game.run(); 前面cc.director.setClearColor(new cc.Color(0,0,0, 0)); //加在cc.game.run(function); 回调里面2. ...原创 2019-10-20 14:29:44 · 4827 阅读 · 0 评论 -
Android构建项目报错Error:Duplicate files copied in APK lib/armeabi-v7a/libcocos2djs.so
Android构建项目报错Error:Execution failed for task ‘:app:transformNativeLibsWithMergeJniLibsForDebug’. >> com.android.build.api.transform.TransformException: com.android.builder.packaging.DuplicateFil...转载 2019-01-03 18:11:05 · 2049 阅读 · 0 评论 -
Android 接入GVoice语音 常见问题
1.在接入GVoice语音时, 发现部分Android老手机会报错: “load library GCloudVoice failed!!”此时我们需要在AppActivity 里用代码加载GCloudVoice: System.loadLibrary("GCloudVoice"); 2.由于GVoice官方仅提供了armeabi,armeabi-v7a,x86三个类型的so 文件 所以...原创 2018-12-11 11:50:54 · 1550 阅读 · 0 评论 -
cocos creator - 改变屏幕大小时自动适配屏幕
每次修改屏幕大小时更新下 该场景下的所有 “Widget” 组件 cc.view.setResizeCallback(function (params) { var scene = cc.director.getScene(); scene.getComponentsInChildren(cc.Widget).forEach(wg => { wg.updat...原创 2019-10-20 14:19:04 · 3070 阅读 · 1 评论 -
cocos creator - 自定义多边形遮罩
创建一个 mask_extend.js复制以下代码把该脚本拖拽到需要作为遮罩的节点上var Base = cc._RendererInSG;var MaskType = cc.Enum({ RECT: 0, ELLIPSE: 1, IRR:2, //SP:3});var Mask_extend = cc.Class({ extends: B...原创 2019-10-20 14:12:33 · 3376 阅读 · 1 评论