1. cc.Director对象

游戏里面控制管理整个游戏全局对象,包括了场景切换等,为cc.Director对象;
导演对象全局只有一个cc.director,大写的为类, 小写的cc.director为全局的导演对象;
cc.director来获取导演对象实例;
游戏中各种管理对象都可以通过cc.director获取,比如物理引擎管理,Action管理, 碰撞检测管理等;

2. 常用接口

getWinSize: 适配后的逻辑大小;
getWinSizeInPixels: 获取窗口的像素大小;
getScene: 获取当前的逻辑场景,场景对象下面是Canvas;
setDisplayStats: 是否显示左下角FPS信息;
getCollisionManager: 获取碰撞检测管理对象;
getPhysicsManager :获取物理引擎管理对象;
loadScene(scene_name):加载场景,场景的名字,系统会加载对应的场景
preloadScene(scene_name):预加载场景

3. 资源加载策略

h5资源加载的过程:
    (1)从服务器上下载来来资源,并把资源加载到内存中,所以你在做h5游戏,你要把你当前游戏中要用到的资源先加载下来,否者的话,你在运行的时候去加载就来不及了(h5卡住);
三种资源加载策略:
 1>: h5的小游戏:采用全部提前绑定好所有的资源。编写预加载脚本preload.js,
将要加载的资源手动关联到第一个启动的场景上面;
 2>: 添加等待界面,预加载下一个场景,然后再进行切换,提前关联好下一个场景要的资源;    
       cc.loader.onProgress = function ( completedCount, totalCount,  item ){
            console.log("completedCount:" + completedCount + ",totalCount:" + totalCount );
        };
 3>  嫌手动关联麻烦,在场景切换中加入过渡场景,代码来加载场景的资源:    
        cc.loader.loadResAll("textures", function (err, assets) {
        });
   代码加载资源会导致setting.js文件过大,一般尽量少在代码里面加载资源;

例子

home_scene.js

// Learn cc.Class:
//  - [Chinese] https://docs.cocos.com/creator/manual/zh/scripting/class.html
//  - [English] http://docs.cocos2d-x.org/creator/manual/en/scripting/class.html
// Learn Attribute:
//  - [Chinese] https://docs.cocos.com/creator/manual/zh/scripting/reference/attributes.html
//  - [English] http://docs.cocos2d-x.org/creator/manual/en/scripting/reference/attributes.html
// Learn life-cycle callbacks:
//  - [Chinese] https://docs.cocos.com/creator/manual/zh/scripting/life-cycle-callbacks.html
//  - [English] https://www.cocos2d-x.org/docs/creator/manual/en/scripting/life-cycle-callbacks.htmlcc.Class({extends: cc.Component,properties: {// foo: {//     // ATTRIBUTES://     default: null,        // The default value will be used only when the component attaching//                           // to a node for the first time//     type: cc.SpriteFrame, // optional, default is typeof default//     serializable: true,   // optional, default is true// },// bar: {//     get () {//         return this._bar;//     },//     set (value) {//         this._bar = value;//     }// },wait: {default: null,type: cc.Node,},progress_lable: {type: cc.Label,default: null,},},// LIFE-CYCLE CALLBACKS:onLoad () {this.wait.active = false;this.progress_lable.string = "0%";},start () {},goto_road: function() {//切换场景时如果直接切换过去,下一个场景会加载资源等待加载的时候会卡住一段时间//我们在这里加上等待界面this.wait.active = true;//预加载cc.director.preloadScene("roadmap_scene", function(completedCount, totalCount, item) {console.log("completedCount:" + completedCount + ",totalCount:" + totalCount);var per = Math.floor(completedCount * 100 / totalCount);this.progress_lable.string = per + "%";}.bind(this), function() {cc.director.loadScene("roadmap_scene");});//end},// update (dt) {},
});

preload.js

// Learn cc.Class:
//  - [Chinese] https://docs.cocos.com/creator/manual/zh/scripting/class.html
//  - [English] http://docs.cocos2d-x.org/creator/manual/en/scripting/class.html
// Learn Attribute:
//  - [Chinese] https://docs.cocos.com/creator/manual/zh/scripting/reference/attributes.html
//  - [English] http://docs.cocos2d-x.org/creator/manual/en/scripting/reference/attributes.html
// Learn life-cycle callbacks:
//  - [Chinese] https://docs.cocos.com/creator/manual/zh/scripting/life-cycle-callbacks.html
//  - [English] https://www.cocos2d-x.org/docs/creator/manual/en/scripting/life-cycle-callbacks.htmlcc.Class({extends: cc.Component,properties: {// foo: {//     // ATTRIBUTES://     default: null,        // The default value will be used only when the component attaching//                           // to a node for the first time//     type: cc.SpriteFrame, // optional, default is typeof default//     serializable: true,   // optional, default is true// },// bar: {//     get () {//         return this._bar;//     },//     set (value) {//         this._bar = value;//     }// },//预加载资源img_array: {default: [],type: cc.SpriteFrame,},atlas_array: { //图集资源default: [],type: cc.SpriteAtlas,},sound_array: {default: [],url: cc.AudioClip,},prefab_array: { //预制体资源default: [],type: cc.Prefab,},},// LIFE-CYCLE CALLBACKS:// onLoad () {},start () {},// update (dt) {},
});

工程截图

24. cc.Director与资源加载策略相关推荐

  1. 【Cocos2d-X(2.x) 游戏开发系列之三】最新版本cocos2d-2.0-x-2.0.2使用资源加载策略

    前段时间cocos2dx更新了最新版本cocos2d­2.0­x­2.0.2,也从这个版本开始对于资源加载与管理都改变了策略. 在之前的加载方式都是通过沿用与cocos2d-iphone一样的加载资源 ...

  2. 【sping揭秘】6、IOC容器之统一资源加载策略

    Spring中的resource 我们先看看类之间的关系 注意我们的application是间接继承了resourceloader的,也就是说我们的application其实就是一个resourcel ...

  3. Cocos Creator 资源加载流程剖析【二】——Download部分

    Download流程的处理由Downloader这个pipe负责(downloader.js),Downloader提供了各种资源的"下载"方式--即如何获取文件内容,有从网络获取 ...

  4. 06.Spring 资源加载 - ResourceLoader

    基本概念 ResourceLoader 接口,在 Spring 中用于加载资源,通过它可以获取一个 Resouce 对象. 内部构造 首先来看它的接口定义: public interface Reso ...

  5. Android apk动态加载机制的研究(二):资源加载和activity生命周期管理

    转载请注明出处:http://blog.csdn.net/singwhatiwanna/article/details/23387079 (来自singwhatiwanna的csdn博客) 前言 为了 ...

  6. 浏览器页面资源加载过程与优化

    评价页面性能好坏的核心之一就是页面的加载速度,而页面加载速度的关键就是页面资源的加载.本文将从浏览器浏览器页面资源加载过程展开分析,来引出页面关键请求路径的概念,并给出如何优化该关键请求路径的一些方法 ...

  7. Cocos Creator2.4.8 资源加载源码阅读

    最近用到资源加载的问题:加载的资源进度条倒退问题,现在只是用临时的解决方案 - 加载进度如果出现会倒退的问题还是用原来的数值.抽时间看了下cocos creator 资源加载的源码,整理了一下脑图 一 ...

  8. JavaScript 页面资源加载:onload,onerror

    资源加载:onload,onerror 浏览器允许我们跟踪外部资源的加载 -- 脚本,iframe,图片等. 这里有两个事件: onload -- 成功加载, onerror -- 出现 error. ...

  9. JavaScript 页面资源加载方法onload,onerror总结

    资源加载:onload,onerror 浏览器允许我们跟踪外部资源的加载 -- 脚本,iframe,图片等. 这里有两个事件: onload -- 成功加载, onerror -- 出现 error. ...

  10. android图片加载过程,教你写Android ImageLoader框架之图片加载与加载策略

    在教你写Android ImageLoader框架之初始配置与请求调度中,我们已经讲述了ImageLoader的请求配置与调度相关的设计与实现.今天我们就来深入了解图片的具体加载过程以及加载的策略(包 ...

最新文章

  1. 《实用》secureCRT远程连接linux虚拟机-突然连接不上-解决办法
  2. postgresql 客户端_Postgresql体系结构
  3. java 找出list中相同数据_Java获取List中相同的数据
  4. jquery.tmplate使用心得
  5. 二级高级应用计算机考试环境,1.2 上机考试环境免费阅读_全国计算机等级考试无纸化真考题库二级MS Office高级应用免费全文_百度阅读...
  6. 被哥哥巨额索赔56亿?贾跃亭回应:40多亿为联合担保
  7. Restify Api 开发经验
  8. Mac OS X 11中的/usr/bin 的“Operation not permitted”
  9. 蓝桥杯 基础练习 Sine之舞
  10. Netty的并发编程实践5:不要依赖线程优先级
  11. 两种方式从Mac计算机上的启动板菜单中删除应用程序?
  12. java怎么做摇杆_DJI虚拟摇杆控制未正确应用
  13. 服务器2008系统提权工具,提权教程:winserver2008R2溢出提权
  14. oracle 10g varchar2与varchar有什么区别
  15. HTML 前后端分离,再谈前后端分离开发和部署
  16. 走格子(bfs+dji)
  17. PHP 编写“九九乘法表”
  18. 小米6自动重启android,小米6充电重启怎么办?小米6充电自动重启解决方法介绍...
  19. 基于PHP的学生宿舍管理系统
  20. R语言绘图——实用篇 ggplot2绘图

热门文章

  1. Typora自动生成标题编号(包含从二级标题开始的)
  2. html写16进制编辑器,浏览器中的16进制编辑器 Hexed.it
  3. 作品展作品延伸——代码
  4. IEEE Access 模板大坑之添加子图
  5. 2021-05-15 SqlServer面试题 通用篇
  6. TokenInsight对话首席——暗流涌动,钱包如何引领数字资产新生态
  7. 小米路由器(R2D)开发版-固件分析
  8. jsp购物车和mysql_用jsp和数据库做的购物车的源程序
  9. python3实现国密SM4算法
  10. bat代码如何处理中文目录