CocosCreator插件推荐:超强图片压缩(全自动图片压缩神器)
超强图片压缩(Creator 2.x版本) https://store.cocos.com/app/detail/6771 超强图片压缩(Creator 3.x版本) https://store.cocos.com/app/detail/5438 一 简介 项目上线前,通常需要做包体优化,对包体影响… 阅读更多 »CocosCreator插件推荐:超强图片压缩(全自动图片压缩神器)
超强图片压缩(Creator 2.x版本) https://store.cocos.com/app/detail/6771 超强图片压缩(Creator 3.x版本) https://store.cocos.com/app/detail/5438 一 简介 项目上线前,通常需要做包体优化,对包体影响… 阅读更多 »CocosCreator插件推荐:超强图片压缩(全自动图片压缩神器)
插件下载地址: https://store.cocos.com/app/detail/5709 一 简介 当游戏发布为H5版本时,我们通常是把整个web-mobile目录上传到服务器上,然后访问index.html即可。 但有时侯运维会提出需求,希望把index.html放到运维人员维护的某个服(假… 阅读更多 »CocosCreator插件推荐:H5版本分开部署
源码下载地址: https://store.cocos.com/app/detail/4711 一 简介 本源码主要演示如何在游戏中播放视频。 基于Cocos Creator 3.5.2开发,将视频渲染至sprite,支持多个视频窗口同时播放,支持画面UV变形,目前在Web平台测试有效。 二 功能特… 阅读更多 »CocosCreator插件推荐:将视频渲染到多个任意组件
插件下载地址: https://store.cocos.com/app/detail/5438 一 简介 项目上线前,通常需要做包体优化,而对包体影响最大的无疑就是图片资源,所以我们需要做图片压缩。 本插件使用业内公认的最佳图片压缩方案,使用后可立即减小一半包体,是压缩比最高、画质最好、不限次数/数… 阅读更多 »CocosCreator插件推荐:图片压缩最佳神器
开发环境:Cocos Creator 3.7.3 本文代码:https://github.com/foupwang/ShadersForCocosCreator 一 什么是光照 现实世界中,人能够看到物体,是因为光线照射在物体上,反射回我们的眼睛。例如:一个物体是绿色的,实际是因为这个物体会反射更多… 阅读更多 »如何用Cocos Shader实现基础光照
开源项目地址:https://github.com/memononen/nanovg 一 NanoVG NanoVG是一个跨平台、基于OpenGL的矢量图形渲染库。它非常轻量级,用C语言实现,代码不到5000行,非常精简地实现了一套HTML5 Canvas API,做为一个实用而有趣的工具集,用来构… 阅读更多 »轻量级绘图库NanoVG使用简介
一 介绍 上篇文章《如何让CocosCreator3.x引擎启动提速60%》发布后,经常有朋友问源码在哪?所以这次把项目定制代码剔除掉了,剩下的都是通用代码开放出来,支持平台包括H5和微信小游戏。裁剪后引擎和demo源码的提取方法见文末。 为什么要做引擎裁剪呢?简单来说,是因为特定应用场景对包体和启… 阅读更多 »分享:《如何让CocosCreator3.x引擎启动提速60%》源码
使用WebGL的方便之处在于,无需搭建开发环境,只要有一个支持WebGL的浏览器就可以了。 着色器 用WebGL绘图必须使用着色器。分为两种: 顶点着色器 顶点是指二维或三维空间中的一个点,例如二维或三维图形的端点或交点。顶点着色器就是用来描述顶点特性(如:位置、颜色)的程序。 示例如下: void… 阅读更多 »随笔:WebGL着色器
升级WordPress统计插件wp-statistics失败,报错信息如下: Warning: chmod(): Operation not permitted in /alidata/www/phpwind/wp-admin/includes/class-wp-filesystem-direct.… 阅读更多 »WordPress统计插件wp-statistics升级失败的解决方法
背景 一个采用 Cocos Creator 3.4.2 引擎开发的3D游戏,除了主游戏外,还有一个精简版游戏。精简版运行在小游戏平台,功能非常简单,所以要求启动速度一定要快。 首先在Creator项目设置中仅留下 WebGL 1.0、基础3D功能、基础2D功能、用户界面、运行状态统计 这几个模块,其… 阅读更多 »如何让CocosCreator3.x引擎启动提速60%
一 现象 CocosCreator3.x引擎的场景中开启阴影后,例如阴影贴图使用的是2048*2048,则每一次切换场景都会引起36M(贴图16M+深度20M)的内存泄漏,而且是必现。 这个BUG在3.x引擎一直存在,从3.6开始才没有这个问题,但没有找到专门针对这个BUG的fix说明。因为项目用的… 阅读更多 »Creator3.x引擎切场景时阴影内存泄漏的非官方补丁
一 JS调用C++函数 从JS中调用C++函数,需要把C++函数声明为导出,有好几种方法,本文采用最原始也是效率最高的方法,就是函数签名加上 EMSCRIPTEN_KEEPALIVE。 1.1 EMSCRIPTEN_KEEPALIVE 作用是告诉C++编译器这个函数会被用到,不要在“tree sha… 阅读更多 »WebAssembly笔记(4)-JavaScript和C++的交互
本文演示把一个C/C++代码编译成WebAssembly格式文件,并在浏览器上运行。以 MacOS 12.3.1为例,步骤如下: 一 前置条件 Git。Mac系统默认已经安装; CMake。Mac中使用 brew install cmake 安装; 系统编译工具。Mac中安装 XCode 即可; P… 阅读更多 »WebAssembly笔记(3)-编译和运行HelloWorld
随着Web网页的广泛发展,拥有JIT技术加持后,JavaScript的执行效率大幅提升,但由于解释型语言的特点,以及动态类型的天生缺陷,在某些CPU密集计算型的应用场景下,JavaScript的性能仍然力不从心。而且有大量C/C++等编译型语言的软件和库,也有着搬到Web上执行的需求,但如果全部用J… 阅读更多 »WebAssembly笔记(2)-从asm.js到wasm
WebAssembly可以让C/C++、Rust、Java、C#等多种高级语言编写的代码,在Web上以接近原生性能的方式运行,有越来越多的大型应用通过它跑在了网页上,例如:AutoCAD在线版、Figma在线版,还有在微信上支持运行Unity小游戏,底层的关键技术都是基于WebAssembly。 要… 阅读更多 »WebAssembly笔记(1)-JavaScript的执行流程
一 定义 标准的MDN定义:用于检测构造函数的 prototype 属性是否出现在某个实例对象的原型链上。 用简单通俗的话来说就是,判断左侧是否为右侧的实例化对象。 二 使用方法 使用格式为:a instanceof b。其中,左侧 a 为对象,右侧 b 必须为函数类型。 示例代码如下 ‘abc’ … 阅读更多 »JavaScript中 instanceof 的实现原理
Image是HTMLImageElement的封装类,或者说HTMLImageElement是Image的基类。在前端开发中,创建一个图像有时会使用如下代码。 let img = new Image(); … img.src = url; return img; 如果重写src的set操作,可使… 阅读更多 »如何修改Image或HTMLImageElement的src属性实现
本文讲解CocosCreator3.x引擎的资源管理机制,提供一种动态资源的加载和释放方案,在3.3.2版本测试通过。 1 简介 Creator3.x引擎提供了一套基于引用计数的资源释放机制,简单说就是使用时计数加1,不用时计数减1,当计数为0时自动释放。通过引擎加载的资源,都会被临时缓存在 ass… 阅读更多 »CocosCreator3.x引擎的动态资源加载和释放方案
1 简介 在使用CocosCreator引擎开发的过程中,如果需要做不同宽高比屏幕的适配或旋转,必定会接触到designSize、visibleSize、frameSize等不同属性,它们各代表什么意思?区别是什么?本文将解答这些问题,并总结这几个属性之间的推导公式。 2 定义 designSize… 阅读更多 »CocosCreator引擎中designSize、visibleSize、frameSize等属性的计算公式
参考Creator官方文档:https://docs.cocos.com/creator/3.0/manual/zh/editor/publish/setup-native-development.html 关键点如下: 1、Android SDK的 API Level 不要太高,最好选择API L… 阅读更多 »CocosCreator3.0引擎的Android环境配置