cocos creator加载和预加载(进度条)远程服务器资源教程

cocosCreator + 阿里云服务器 + Apache(windows) 从h5打包到服务器部署全流程 本文主要是以Demo形式讲述 cocosCreator + 阿里云服务器 + Apache(windows) 发布h5平台,从打包到服务器部署全流程。 阅读详情

相信很多开发微信小游戏的小伙伴都清楚,微信为了用户对小游戏更好的体验,对上传的包体整体大小设置了4mb以下(4mb!  emmm~~~),那么只好把游戏的一些资源放在服务器上了。

废话不多说,我以cocos creator引擎加载几张放在apache服务器上的图片为例

ps:我使用的服务器是自己的,另外服务器使用的是centos的操作系统

在服务器上搭建apache服务器请看centos6.7下搭配apache+php+mysql环境 - 优快云博客

首先使用xftp软件在服务器上放两张图片资源image1.png、image2.png(注意路径!是你网站站点下!)

然后在这里建一个php文件(注意路径!是你网站站点下!)

php文件内容如下:

<?php
  header('Access-Control-Allow-Origin:*');
  header('Control-type:image/png');
  if(isset($_GET['url'])){
    echo file_get_contents($_GET['url']);
  }
?>
在cocos creator加载资源代码如下:

现在,很多小伙伴会不解:在服务器上的那个php文件有什么用处呢?

其实这个php起到了中转的作用,如果你用cocos creator直接加载服务器上的资源的话,会受到浏览器的 CORS 跨域策略限制,所以我们就需要这个php文件了,这个时候我们直接访问这个php文件,并把我们需要的资源路径参数传给它,让这个php帮我们加载资源,然后在它返回的数据添加头信息
header('Access-Control-Allow-Origin:*');
header('Control-type:image/png');
有了这个头信息,浏览器才会允许你加载资源!


现在我们再说说预加载并设置进度条!

首先新建节点、挂progressBar组件和新建一个javascript文件!


最后javaScript示例代码:

cc.Class({
    extends: cc.Component,
 
    properties: {
        progressBar:{
            default:null,
            type:cc.ProgressBar
        },
 
    },
 
    // LIFE-CYCLE CALLBACKS:
 
    onLoad () {
        this._urls = [
            {url:'http://127.0.0.1(这里填你的服务器ip)/test.php?url=http://127.0.0.1(这里填你的服务器ip)/image1.png', type:'png'},
            {url:'http://127.0.0.1(这里填你的服务器ip)/test.php?url=http://127.0.0.1(这里填你的服务器ip)/image2.png', type:'png'},
            
        ];
 
        this.resource = null;
        this.progressBar.progress = 0;
 
        this._clearAll();
 
        cc.loader.load(this._urls, this._progressCallback.bind(this), this._completeCallback.bind(this));
    },
 
    start () {
 
    },
 
    _clearAll: function() {
        for(var i = 0; i < this._urls.length; ++i) {
            var url = this._urls[i];
            cc.loader.release(url);
        }
    },
 
    _progressCallback: function(completeCount, totalCount, res) {
        //加载进度回调
        console.log('第 ' + completeCount + '加载完成!');
        this.progress = completeCount / totalCount;
        this.resource = res;
        this.completeCount = completeCount;
        this.totalCount = totalCount;
    },
 
    _completeCallback: function(err, texture) {
        //加载完成回调
    },
 
    update (dt) {
        if(!this.resource){
            return ;
        }
        var progress = this.progressBar.progress;
        if(progress >= 1){
            console.log('加载完成')
            //加载完成
            this.progressBar.node.active = false;
            this.enabled = false;
            return ;
        }
 
        if(progress < this.progress){
            progress += dt;
        }
 
        this.progressBar.progress = progress;
 
    },
});
不要忘了把New ProgressBar节点拖到脚本里哦!

来个预览!


好了,教程到这里就完结了。不足之处,欢迎指出!
--------------------- 
作者:芳辉啊 
来源:优快云 
原文:https://blog.youkuaiyun.com/lifanghui_/article/details/80788419 
版权声明:本文为博主原创文章,转载请附上博文链接!

Cocos Creater微信小游戏广告预加载测试 微信广告直接加载略有卡顿,达不到某些效果, 试试先预加载隐藏。 作为合格的api调用员第一时间打开微信开放文档,竟然比Cocos的文档还要简洁,令人震惊。 总之先用自己的笨方法试试,先创建个全局变量脚本,在需要显示广告时调用即可 module.exports = { createbannerad: null, //创建banner createvideoad: null, //创建激励 creategeziad: null, //创建格子广告 createchapinad 阅读详情

相关推荐

cocos creator入门教程(十八)—— creator_Director对象与资源加载策略

cc.Director与 资源加载策略 cc.Director对象 1:游戏里面控制管理整个游戏全局对象,包括了场景切换等,为cc.Director对象; 2:导演对象全局只有一个cc.director,大写的为类, 小写的cc.director为全局的导演对象; 3: cc.director来获取导演对象实例; 4: 游戏中各种管理对象都可以通过cc.director获取,比如物理引擎...

标题 1329

cocos 链接PHP服务器,Cocos网络篇[3.2](2) ——HTTP连接

【唠叨】HTTP用于客户端终端(用户)与服务器(WEB)之间的数据通讯。若菜不懂WEB,也不会服务端开发。所以在这里只能讲讲客户端如果使用http连接WEB服务器了。常见的WEB服务器有PHP、JSP、ASP等。Cocos为我们封装了HTTP客户端的接口:HttpClient类。HttpClient封装了各种对象,处理cookies,身份认证,连接管理等。【参考】【Demo下载】【HTTP简介】超...

weixin_42393315的博客 536

Cocos Creator场景加载优化:异步与预加载组合策略实战

在游戏和应用开发中,资源加载效率直接影响用户体验和产品留存率。其核心原理在于管理I/O操作与CPU解析资源时的线程阻塞问题。通过异步加载技术,可以将耗时的加载过程转移到后台线程,保持主线程响应,从而避免界面冻结。预加载则采用空间换时间的策略,提前将后续场景所需资源载入内存,大幅减少切换时的等待时间。这两种技术的结合,在Cocos Creator等游戏引擎中具有极高的技术价值,能够显著提升场景切换的流畅度,尤其适用于移动端游戏、复杂应用界面切换等对加载性能敏感的应用场景。本文聚焦于Cocos Creator,

weixin_27943395的博客 330

cocosCreator 之 resources动态加载、预加载和进度条实现

cocosCreator resources动态加载,预加载相关内容

鹤九日的博客 9272

五、2K0300 久久派开发板的GPIO控制与Shell脚本自动化实战

本文详细介绍了基于龙芯2K0300处理器的久久派开发板的GPIO控制方法,通过sysfs文件系统实现LED控制和传感器读取。重点讲解了Shell脚本自动化实战,包括LED闪烁、流水灯效果和传感器数据采集,为物联网项目开发提供完整解决方案。

silver的专栏 687

win10任务栏文件夹设置成竖形列表样式

win10任务栏文件夹设置成竖形列表样式

ftzchina的博客 7081

替换 cocos creator 默认加载页

1 在编辑器里面找到默认构建文件夹 替换图片 及修改样式 如图所示

qq_34703156的博客 2495

windows10 + wsl2安装docker

一、安装wsl https://docs.microsoft.com/zh-cn/windows/wsl/install-win10 1.1以管理员身份运行powershell 1.2执行如下命令 dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart 1.3重启电脑 1.4 重启电脑后,如果需要安装wsl2, 则安装官方文档继续后续操作,因我...

happytree001的博客 1569

Cocos Creator资源管理AssetManager细说一二

关于AssetManager Asset Manager 是 Creator 在 v2.4 新推出的资源管理器,用于替代之前的 cc.loader。新的 Asset Manager 资源管理模块具备加载资源、查找资源、销毁资源、缓存资源、Asset Bundle 等功能,相比之前的 cc.loader 拥有更好的性能,更易用的 API,以及更强的扩展性。所有函数和方法可通过 cc.assetManager 进行访问,所有类型和枚举可通过 cc.AssetManager 命名空间进行访问。 同时,新的资源管理

JoeyHuangzx的专栏 1万+

从零开始讲DDR(8)——AXI 接口MIG 使用(1)

我们简单拆解了MIG AXI接口中测试文件的整体框架,首先在sim_tb_top.sv文件中例化了DDR模型和example_top。在example_top中,又例化了MIG IP和一个流量产生器ddr4_v2_2_8_axi_tg_top。在ddr4_v2_2_8_axi_tg_top中的主要功能是分别例化了boot_mode_gen,prbs_mode_gen,custom_mode_gen和axi_opcode_gen。

apple_53311083的博客 1591

知识蒸馏⚗️ | YOLOv5知识蒸馏实战篇

YOLOv5知识蒸馏教程

Coding... 9361

Cocos Creator | 资源管理:资源的动态加载/远程加载/缓存/预加载/同步加载/远程加载spine

更好的阅读体验请访问公众号: //resources目录 // 所有需要通过脚本动态加载的资源,都必须放置在resources文件夹或它的子文件夹下 resources文件夹需要在assets根目录下手动创建 resources文件夹中的资源,可以引用文件夹外部的其它资源,同样也可以被外部场景或资源所引用 项目构建时,除了在构建发布面板中勾选的场景外,resources文件夹中的所有资源,包括它们关联依赖的resources文...

Valiancer 1万+

基于STM32L4XX、HAL库的ICP-10111压力传感器驱动程序设计

define ICP10111_CMD_MEAS_ULN 0x7866 // 超低噪声模式。#define ICP10111_CMD_MEAS_LP 0x609C // 低功耗模式。#define ICP10111_CMD_MEAS_LN 0x70DF // 低噪声模式。#define ICP10111_CMD_MEAS_N 0x6825 // 正常模式。ICP10111_MODE_LN, // 低噪声。// 等待测量完成(根据模式不同等待时间不同)

zhusl6688的博客 417

Cocos Creator场景切换终极优化指南:加载界面与资源预加载策略

在游戏开发中,流畅的场景切换体验直接影响玩家的游戏感受。Cocos Creator作为一款强大的跨平台游戏引擎,提供了丰富的场景管理和资源加载功能。本文将为你详细介绍如何通过加载界面设计和资源预加载策略,优化Cocos Creator游戏的场景切换性能,让玩家享受无缝的游戏体验。✨ ## 为什么场景切换需要优化? 场景切换是游戏中常见的操作,无论是从主菜单进入游戏关卡,还是在不同场景间跳转,如

gitblog_00779的博客 921

论文阅读 AIED 2024 Coding with AI: How Are Tools Like ChatGPT Being Used by Students in Foundational Pro

该论文题为《Coding with AI: How Are Tools Like ChatGPT Being Used by Students in Foundational Programming Courses》,由美国犹他州立大学的 Aashish Ghimire 与 John Edwards 共同撰写,发表于人工智能与教育领域顶级会议。

CSPhD-winston的博客 308

Pytorch入门实战(2)-使用BP神经网络实现MNIST手写数字识别

上一篇:Pytorch入门实战(1) - 实现线性回归 涉及知识点 Pytorch nn.Module的基本使用 Pytorch nn.Linear的基本用法 PytorchVision Transforms的基本使用 Pytorch中DataLoader的基本用法 Pytorch详解NLLLoss和CrossEntropyLoss 如何确定神经网络的层数和隐藏层神经元数量 本文内容 本文将会使用BP神经网络(就是最普通的神经网络)实现一个MNIST手写数据集的实现。话不多说,直接开始。 首先先导入需要的包

iioSnail的博客 6617

CocosCreator之KUOKUO带你实现预加载的进度条

引擎版本 CocosCreator v2.0.9 实现效果 预加载进度条 先讲讲进度条组件 先来个粉嫩的背景 添加个进度条和文本组件 提示下长度问题,应该匹配父节点的宽度,我先把父节点宽改400,之后我应该把长度也改为400,然后调整位置为-200 接下来就是可以代码访问属性,动态更改进度。 cc.Class({ extends: cc.Component, pro...

kuokuo666的博客 3267

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

Cocos Creator资源加载进度条:异步加载与状态反馈实现

你是否还在为游戏启动时的黑屏问题烦恼?玩家面对无响应的加载界面往往会选择离开。本文将带你实现一个流畅的资源加载进度条系统,通过Cocos Creator的异步加载机制和状态反馈功能,让玩家清晰了解加载进度,提升游戏体验。读完本文,你将掌握资源加载的完整流程、进度计算方法和UI状态管理技巧。 ## 资源加载核心机制 Cocos Creator的资源加载系统基于异步编程模型,通过`AssetMan...

gitblog_01121的博客 822

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

Cocos Creator 3.x资源预加载与进度条实现:告别白屏卡顿

在游戏和应用开发中,资源加载是影响用户体验的关键环节。其核心原理在于将用户可能需要的资源提前加载至内存,当实际需要时直接从内存读取,从而避免因实时加载导致的卡顿和白屏现象。这项技术对于提升应用的流畅度和响应速度具有重要价值,尤其在移动端H5游戏、复杂Web应用等场景中至关重要。通过实现一个可视化的进度条,开发者不仅能有效管理加载流程,还能向用户提供清晰的等待反馈,显著提升产品的专业度和用户留存率。本文将以Cocos Creator 3.4.0为例,深入探讨如何利用TypeScript结合assetManag

weixin_30599769的博客 332

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

Cocos Creator场景加载优化:异步加载与预加载结合

你是否遇到过游戏在切换场景时出现卡顿、黑屏甚至崩溃的情况?用户等待超过3秒就可能流失,本文将通过Cocos Creator的异步加载与预加载机制,教你如何将场景切换时间压缩到1秒内,同时提供完整的加载进度反馈方案。 ## 场景加载性能瓶颈分析 游戏场景包含大量资源(模型、纹理、音效等),同步加载会阻塞主线程导致界面冻结。Cocos Creator提供两种核心优化方案: - **异步加载**:在...

gitblog_00397的博客 591

告别卡顿:Cocos Creator资源预加载管理器全攻略

你是否还在为游戏加载时的卡顿、白屏或资源加载顺序混乱而烦恼?本文将带你深入了解Cocos Creator资源预加载管理器的核心机制,掌握优先级队列与依赖处理的实战技巧,让你的游戏启动速度提升300%,彻底解决资源加载难题。 ## 为什么需要资源预加载管理器? 游戏开发中,资源加载是影响用户体验的关键环节。大型场景、高清纹理、复杂动画等资源若加载不当,会导致游戏卡顿、黑屏甚至崩溃。Cocos C...

gitblog_00090的博客 959

cocos creator动态加载资源

动态加载资源要注意两点,一是所有需要通过脚本动态加载的资源,都必须放置在resources文件夹或它的子文件夹下。resources需要在 assets 文件夹中手工创建,并且必须位于 assets 的根目录 resources文件夹中的资源,可以引用文件夹外部的其它资源,同样也可以被外部场景或资源引用到。项目构建时,除了已在构建发布面板勾选的场景外,resources文件夹...

wangdanping2012的专栏 6526

cocos creator微信小游戏 加载进度页面

参考文档 1、Cocos creator 微信小游戏 加载远程资源启动页 https://blog.youkuaiyun.com/nihaoqlw/article/details/85139823 2、手把手教你制作微信小游戏的下载进度条-适用于cocos3D https://forum.cocos.org/t/cocos3d/89614 正文 1、添加 loading-scene 页面内容 loading-scene.js 是主要页面代码,其他的图片文件是进度条资源,loading-scene2.js是参考文件(没

qq_18924323的博客 2558

5个必学的Cocos Creator场景加载优化技巧

作为全球领先的开源游戏引擎,Cocos Creator以其出色的跨平台能力和丰富的功能生态受到数百万开发者的青睐。在实际开发中,场景加载性能直接关系到用户体验和游戏留存率。本文将为您揭秘Cocos Creator场景加载的核心优化策略,帮助您构建更流畅的游戏体验。 ## 场景加载性能瓶颈深度解析 在Cocos Creator中,场景加载涉及资源依赖分析、网络请求、内存分配等多个环节。根据引擎内

gitblog_00168的博客 1071

Cocos学习之资源动态加载

Cocos Creator资源动态加载系统通过`assetManager`实现本地与远程资源管理,提供按需加载、预加载及热更新能力。支持从CDN动态加载图片、分场景加载资源包、AB包增量更新等场景,通过缓存策略优化性能,需注意CORS配置与资源释放管理,适用于多场景游戏与网络化应用开发。

tipsyes的博客 1478
上一篇: Cocos Creator—最佳构建部署实践
下一篇: 耗电量和性能优化
wang2021wang
博客等级 码龄15年 6粉丝 2原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值