精华内容
下载资源
问答
  • COCOS 微信小游戏加载100%卡死问题 微信小游戏加载100%卡死,是由于某些远程图片加载不了造成的,可以在加载页面之前加一个空背景的页面来解决问题,的空背景页面的Load函数里加上加载真正的加载页面的代码即可. .....

    COCOS 微信小游戏加载100%卡死问题

    微信小游戏加载100%卡死,是由于某些远程图片加载不了造成的,可以在加载页面之前加一个空背景的页面来解决问题,的空背景页面的Load函数里加上加载真正的加载页面的代码即可.

    展开全文
  • 1、cocos 安装目录下搜索以下代码并注掉opts["preserveDrawingBuffer"] = true;”2、CocosCreator\resources\engine\bin.cache文件夹中的内容删除,然后重新打开cocoscreator编辑器,就会重新编译引擎 转载于:...

    1、cocos 安装目录下搜索以下代码并注掉
    opts["preserveDrawingBuffer"] = true;”
    2、CocosCreator\resources\engine\bin.cache文件夹中的内容删除,然后重新打开cocoscreator编辑器,就会重新编译引擎

    转载于:https://www.cnblogs.com/manhelp/p/11277659.html

    展开全文
  • gulpfile.js: var gulp = require('gulp'), imagemin = require('gulp-imagemin'), pngquant = require('imagemin-pngquant'), cache = require('gulp-cache'); const print = require('gulp-print').d...

    cocos 微信小游戏 无限制图片压缩批处理 (pngquant) 一键操作,覆盖原图

    pngquant我的实际使用感觉与tinypng差距不大,有文档指出 tinypng使用的压缩方式包含pngquant,我的压缩比例在%60-%70

    执行: gulp wechat-image 压缩替换./build/wechatgame/目录下的图片
    gulp.js 中文网 这里查看gulp使用教程
    pngquant 官网:

    pngquant 使用中值切割量化算法的修改版本和附加技术来减轻中值切割的缺陷。
    而不是分裂具有最大音量或颜色数量的盒子,而是选择盒子以最小化其中值的方差。
    直方图是建立在基本感知模型的基础之上的,这样可以减少图像噪点区域的重量。
    为了进一步改善颜色,在类似于梯度下降的过程中调整直方图(中值切割重复许多次,在表现不佳的颜色上重量更多)。
    最后,使用Voronoi迭代(K均值)来校正颜色,这保证了局部最佳的调色板。
    pngquant 在预乘alpha颜色空间中工作,以减少透明颜色的重量。
    当重新映射时,误差扩散仅应用于若干相邻像素量化为相同值且不是边缘的区域。这避免了在没有抖动的情况下将视觉质量增加的区域。

    .pipe(cache : cache 缓存以前压缩过的图片,极大提升压缩速度,不然每次都要重新压缩很慢的
    gulp cleanCash 清除 cache缓存,之后执行压缩会重新压缩,不会使用缓存
    例如quality参数值修改之后不清除缓存似乎不会重新压缩,需要清除掉缓存才能让参数值生效重新压缩

    –quality min-max
    Instructs pngquant to use the least amount of colors required to meet or exceed the max quality. If conversion results in quality below the min quality the image won’t be saved (if outputting to stdout, 24-bit original will be output) and pngquant will exit with status code 99.
    min and max are numbers in range 0 (worst) to 100 (perfect), similar to JPEG.
    pngquant --quality=65-80 image.png

    quality 影响压缩比例,推荐50-50

    gulpfile.js:

    var gulp = require('gulp'),
        imagemin = require('gulp-imagemin'),
        pngquant = require('imagemin-pngquant'),
        cache = require('gulp-cache');
    
    const print = require('gulp-print').default;const gulpPngquant = require('gulp-pngquant');
    
    var through = require('through2');gulp.task('wechat-image', function ( cb ) {
        gulp.src(['./build/wechatgame/**/*.{png,jpg,gif,ico}'])
        // .pipe(print(filepath => `built: ${filepath}`))
        //     .pipe(function(){
        //     return through.obj(function (file, enc, cb) {
        //         console.log(file.path);
        //         this.push(file); // 需要push一下,不然后续的pipe不会处理这个文件
        //         return cb();
        //     });
        // }())
            .pipe(cache(gulpPngquant({ // pngquant 压缩图片 参数quality:'50-50' 
                quality: '50-50'
            })))
            .pipe(gulp.dest('./build/wechatgame'))
            .on("end", cb);
    });
    
    gulp.task('cleanCash', function (done) {
        return cache.clearAll(done);
    });
    
    展开全文
  • cocos creator微信小游戏接入文档cocos creator微信小游戏接入文档cocos creator微信小游戏接入文档cocos creator微信小游戏接入文档
  • Cocos Creator微信小游戏开发

    千人学习 2019-10-08 15:11:58
    如今,H5游戏、微信小游戏、抖音小游戏、头条小游戏、快手小游戏、百度小游戏、QQ轻游戏等小程序游戏都特别火,而这些小游戏中80%都是用Cocos Creator开发的,Cocos Creator可以做到一次开发,多平台部署。...
  • 该套餐包含了Cocos Creator 打地鼠微信小游戏实战开发和Cocos Creator 飞机大战微信小游戏实战开发,欢迎大家关注哦(^_−)☆
  • Cocos 讲述微信小游戏

    2018-01-11 13:58:15
    里面涵盖微信小游戏的底层技术、开发环境、运行框架、引擎工作原理、场景加载等多方面的内容。
  • cocos开发微信小游戏图片压缩神器,小巧一键使用,方便快捷
  • cocos creator 微信小游戏接口 /* * @Description:微信小游戏 * @version: * @Author: lvpeijun * @Date: 2019-12-02 10:43:41 * @LastEditors: Please set LastEditors * @LastEditTime: 2020-08-06 20:59...

    cocos creator 微信小游戏接口

    /*
     * @Description:微信小游戏
     * @version: 
     * @Author: lvpeijun
     * @Date: 2019-12-02 10:43:41
     * @LastEditors: Please set LastEditors
     * @LastEditTime: 2020-08-06 20:59:33
     */
    export class WXMiniGame{
        advert = null;
        advertCb = null;
        isSharing = false;
        init = false;
        constructor() {
            super();
            wx.onShow(this.wxShowBack.bind(this));
        }
    
        /**
         * 检查是否授权 授权后才能获取玩家信息
         * @param cb  回调
         */
        checkAuthorized(cb) {
            let self = this;
            wx.getSetting({
                success(res) {
                    // console.log('xxxxxxxxxxxxxx getSetting ', res);
                    if (!res.authSetting['scope.userInfo']) {
                        //没有授权
                        cb.call(null, false);
                    } else {
                        //授权过
                        self.getUserInfo();
                        cb.call(null, true);
                    }
                }
            })
            return true;
        }
    
        /**
         * 获取玩家信息
         */
        getUserInfo() {
            let self = this;
            wx.getUserInfo({
                success: function (res) {
                    var userInfo = res.userInfo
                    // console.log('xxxxxxxx wx game user info', userInfo);
                    self.userInfo = userInfo;
                },
            })
        }
    
        /**
         * 创建授权按钮进行授权
         * @param node 授权按钮的位置大小与传过来的node一致
         * @param cb 回调
         */
        private createAuthorizeBtn(node: cc.Node, cb) {
            let btnSize = cc.size(node.width, node.height);
            let frameSize = cc.view.getFrameSize();
            let winSize = cc.director.getWinSize();
            // console.log("winSize: ",winSize);
            // console.log("frameSize: ",frameSize);
            //适配不同机型来创建微信授权按钮
            let left = (winSize.width * 0.5 + node.x - btnSize.width * 0.5) / winSize.width * frameSize.width;
            let top = (winSize.height * 0.5 - node.y - btnSize.height * 0.5) / winSize.height * frameSize.height;
            let width = btnSize.width / winSize.width * frameSize.width;
            let height = btnSize.height / winSize.height * frameSize.height;
            // console.log("button pos: ",cc.v2(left,top));
            // console.log("button size: ",cc.size(width,height));
            let self = this;
            let btnAuthorize = wx.createUserInfoButton({
                type: 'text',
                text: '',
                style: {
                    left: left,
                    top: top,
                    width: width,
                    height: height,
                    lineHeight: 0,
                    backgroundColor: '',
                    color: '#ffffff',
                    textAlign: 'center',
                    fontSize: 16,
                    borderRadius: 4
                }
            })
    
            btnAuthorize.onTap((uinfo) => {
                console.log("onTap uinfo: ", uinfo);
                if (uinfo.userInfo) {
                    //授权成功
                    // console.log('xxxxxxxx wx game user info', userInfo);
                    // wx.showToast({ title: "授权成功" });
                    self.userInfo  = uinfo.userInfo
                    btnAuthorize.destroy();
                    cb.call(null, true);
                } else {
                    //授权失败
                    // console.log('xxxxxxxx wx game user fail info');
                    // wx.showToast({ title: "授权失败" });
                    cb.call(null, false);
                }
            });
        }
    
        /**
         * 获取设备信息
         */
        getAreaHeight() {
            wx.getSystemInfo({
                success(res) {
                    // console.log('xxxxx weChatMiniGame  area height' + JSON.stringify(res));
                }
            })
        }
    
        /**
         * 能不能看视频
         */
        canShowAdvert() {
            return false;
        }
    
        /**
         * 能不能分享
         */
        canShowShare() {
            return true;
        }
    
        /**
         * 初始化激励视频
         */
        initAdvert() {
            let self = this;
            this.advert = null;
            let rewardedVideoAd = null;
            // console.log('xxxxxxxxx wx minigame initAdvert');
            if (wx.createRewardedVideoAd) {
                rewardedVideoAd = wx.createRewardedVideoAd({ adUnitId: 'xxxx' })
                rewardedVideoAd.onLoad(() => {
                    // console.log('xxxxxxxxx onLoad event emit');
                    this.advert = rewardedVideoAd;
                })
                rewardedVideoAd.onError((err) => {
                    // console.log('xxxxxxxxx onError event emit', err)
                })
                rewardedVideoAd.onClose((res) => {
                    if (res && res.isEnded) {
                        self.videoCb(true);
                        // console.log('xxxxxxxxx advert onClose event emit true');
                        // 正常播放结束,可以下发游戏奖励
                    } else {
                        self.videoCb(false);
                        // console.log('xxxxxxxxx advert onClose event emit false');
                        // 播放中途退出,不下发游戏奖励
                    }
                })
            }
        }
    
        /**
         * 观看激烈视频的回调
         * @param success 
         */
        videoCb(success) {
            if (this.advertCb) {
                this.advertCb.call(null, success, 'video_weChat');
            }
            this.advertCb = null;
        }
    
        /**
         * 观看激烈视频
         * @param cb 
         */
        showAdvert(cb) {
            if (!this.advert) {
                console.log('xxxxxxxxx wx advert null!');
                cb.call(null, false);
                return;
            }
            this.advertCb = cb;
            this.advert.show();
        }
        /**
         * 是否使用超链接
         */
        useSSL() {
            return false;
        }
    
        /**
         * 分享
         * @param param
         */
        share(param) {
            this.isSharing = true;
            //原来微信分享
            // wx.shareAppMessage({
            //     title: title,
            //     imageUrl: "https://abc.com/" + icon,//cc.url.raw('img.png'),        // 分享图片要放在 wechatgame/res/raw-assers 路径下
            //     query: 'param'//'分享卡片上所带的信息'  // query最大长度(length)为2048
            // });
    
            //接入umeng后微信分享
            var data = wx.uma.trackShare({
                query: 'param',
                title: title,
                imageUrl: "https://abc.com" + icon,
            });
            wx.shareAppMessage(data);
    
        }
    
        /**
         * 分享回调
         * @param data 
         */
        wxShowBack(data) {
            if (this.isSharing) {
                //分享回调
                // cc.log('xxxxxxxxxxx weChat show back', data);
                this.isSharing = false;
            } else {
                if (this.init && data.query && data.query.param) {
                    // console.log('xxxxxxxxxxx weChat show back param:', param);
                }
            }
        }
    
        /**
         * 获取登录参数
         */
        getLaunchParam() {
            let data = wx.getLaunchOptionsSync();
            this.init = true;
            if (data.query && data.query.param) {
                // console.log('xxxxxxxxxxxxxxxxxxx param:', data.query.param);
                return data.query.param;
            }
            return null;
        }
    
        //设置umeng openid
        setOpenId(id){
            // cc.log('xxxxxxxxxxx weChat open Id:',id);
            wx.uma.setOpenid(id);
        }
    }
    展开全文
  • 微信小游戏中使用分包。因为微信小游戏有包体限制。 主包最大只能4m,分包最大4m,一共最多16m。所以主包只放代码,而图片、json等资源都设置为分包里。 下面看怎么使用分包。 设置resource下文件夹common、game...
  • 问题: cocos构建微信小游戏,微信开发者工具点击编译报错 解决方法:微信开发工具删除项目,重新添加 试试。 实测有效,原因未知。
  • 通过使用插件进行微信小游戏云开发配置。 使用说明:将压缩包解压到cocos creator项目下的packages目录下,打开该cocos项目,就可以在扩展菜单下看到插件的菜单项。
  • cocosCreator微信小游戏排行榜的实现实例,包括子域和主域的实现。内含js、TS版本的实现方法。
  • Cocos Creator微信小游戏开发 聚焦最新技术,专注游戏领域,让游戏...
  • CocosCreator 微信小游戏 本地存储脚本简介注意事项代码 简介 为了在微信小游戏中为了保存一些游戏进度,并且兼容cocos内置的存储功能。 注意事项 wx.setStorage只有在微信环境下才可使用 cc.sys.localStorage....
  • Cocos Creator 打包成微信小游戏源代码,Cocos Creator 打包成微信小游戏源代码,Cocos Creator 打包成微信小游戏源代码,Cocos Creator 打包成微信小游戏源代码,Cocos Creator 打包成微信小游戏源代码,Cocos ...
  • 一、游戏的分析(之前没有接触过小游戏,制作的思维还停留在大型ARPG游戏大家共同协作的想法里,但是小游戏讲究小而全,大部分时间是一个人独立开发,所以需要迫使自己养成看到小游戏先拆分细化的思想)二、一些必要的...
  • 一、游戏的分析(之前没有接触过小游戏,制作的思维还停留在大型ARPG游戏大家共同协作的想法里,但是小游戏讲究小而全,大部分时间是一个人独立开发,所以需要迫使自己养成看到小游戏先拆分细化的思想)二、一些必要...
  • cocos教程:发布到微信小游戏 因为微信小游戏有包体大小限制。 主包4M 分包最大4M 一共最多16M 那么假如我们的游戏有个20M,50M,那就放不下了。只能放到远程服务器上。 下面看微信小游戏如何将资源放到远程服务器...
  • 1、Cocos creator 微信小游戏 加载远程资源启动页 https://blog.csdn.net/nihaoqlw/article/details/85139823 2、手把手教你制作微信小游戏的下载进度条-适用于cocos3D https://forum.cocos.org/t/cocos3d/89614 ...
  • CocosCreator推出了3D编辑器,集成到了2.1以后的版本,今天我们来看下如何来使用 Cocos creator2.1做3D。 1: 可以2D/3D来回切换的场景编辑器点击按钮,可以进入3D编辑器模式,再点击一下有回到2D编辑模式。 2: 3D...
  • Cocos Creator推出了3D编辑器,集成到了2.1以后的版本,今天我们来看下如何来使用 Cocos creator2.1做3D。 1: 可以2D/3D来回切换的场景编辑器: 点击按钮,可以进入3D编辑器模式,再点击一下有回到2D编辑模式。2: 3D...
  • CocosCreator微信小游戏排行榜开发开发前言步骤1 开发前言 第一次接触微信小游戏开发的小伙伴,可以看看排行榜的开发和注意事项: 一、开发微信排行榜的话,用户的信息需要从微信提供的API获取;同时微信为了保护...
  • cocos creator微信小游戏截图

    千次阅读 2018-11-17 18:03:10
    前言 在之前,用CocosCreator制作的游戏,截图功能的实现是一个比较麻烦的地方,之前的官方文档也没有相关资料,只有论坛大神给出的一些解决方案...微信小游戏其实已经给开发者准备了相关的截图api–Canvas.toTempF...
  • cocos creator开发的微信小游戏,我用cocos ceator1.1稳定版可以正常编译,或者cocos creator 1.9.1也可以,KBEngine1.1.9可以正常开启后端。声明本源代码只可以用于学习,不可以商用。本院代码来源于网络,传播于...
  • 微信小游戏最大的包限度是4M。在做完一些列优化之后,如果你的包大小还是超过了4M。那就要考虑远程加载资源了 本文需要提前准备好的资源: 一个开发完成的coco项目 一个备案的域名 一台装有宝塔的centos服务器 ...
  • Cocos Creator推出了3D编辑器,集成到了2.1以后的版本,今天我们来看下如何来使用 Cocos creator2.1做3D。 1: 可以2D/3D来回切换的场景编辑器: 点击按钮,可以进入3D编辑器模式,再点击一下有回到2D编辑模式。2: 3D...
  • 利用Cocos Creator开发工具进行飞机大战微信小游戏的实战开发,结合大概30个视频课程,带你实现该款飞机大战微信小游戏的开发,并最后上传到微信开发者工具进行体验! 
  • 我们使用CocosCreator官方的polished_project例子来讲解如何生成微信小游戏。 1、下载polished_project工程,地址:https://github.com/cocos-creator/tutorial-first-game/releases/download/v1.2/polished_p
  • 简介cocos creator1.10.2制作桌球游戏, 使用了物理引擎, 与碰撞系统, 接下来, 让我们看看制作过程首先, 先看一下我们的场景树的结构, 按照场景树, 搭建我们的场景 由于游戏用有大量的碰撞, 列如: 桌球间的碰撞, 桌球...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 745
精华内容 298
关键字:

cocos微信小游戏