cocos2d-js官方文档 cc.loader

cocos2d-js官方文档 cc.loader,第1张

概述概述 原来的cc.Loader被改造为一个单例cc.loader,采用了插件机制设计,让loader做更纯粹的事。 各种资源类型的loader可以在外部注册进来,而不是直接将所有的代码杂揉在cc.Loader中,更好的方便管理以及用户自定义loader的创建。 cc.loader中包含了一些网络资源获取的基本api,例如加载js、加载image等。 API描述 (注:以下描述中,全路径的意思为 " 概述

原来的cc.Loader被改造为一个单例cc.loader,采用了插件机制设计,让loader做更纯粹的事。

各种资源类型的loader可以在外部注册进来,而不是直接将所有的代码杂揉在cc.Loader中,更好的方便管理以及用户自定义loader的创建。

cc.loader中包含了一些网络资源获取的基本API,例如加载Js、加载image等。

API描述

(注:以下描述中,全路径的意思为 "资源的根路径" + "资源路径", 例如设置图片资源根路径(cc.loader.resPath)为"res",图片资源路径为"a.png", 那么全路径为"res/a.png",非全路径为"a.png"。)

resPath

资源的根路径(音频资源除外)。

audioPath

音频资源的根路径。

getXMLhttpRequest

获取XMLhttpRequest对象。

loadJs

加载Js文件。

参数:url     资源路径(注意,必须是全路径)cb      回调函数返回值: 无
用法1:
cc.loader.loadJs("src",[    "a.Js","b.Js"],function(err){    if(err) return console.log("load Failed");    //success});
用法2:
cc.loader.loadJs([    "src/a.Js","src/b.Js"],sans-serif; Font-size:16px; line-height:25.6000003814697px">  用法3:  
cc.loader.loadJs("src/a.Js",function(err){    if(err) return console.log("load Failed");    //success});
loadJsWithimg

用法同loadJs,只是在加载Js文件的时候会显示一个loading的图片而已。

loadTxt

加载文本资源。

参数:url     资源路径(注意,必须是全路径)cb      回调函数返回值: 无

用法:

cc.loader.loadTxt("res/a.txt",function(err,data){    if(err) return console.log("load Failed");    //success});
loadimg

加载图片资源。

参数:url         资源路径(注意,必须是全路径)option      选项,目前结构如:`{isCrossOrigin : true}`,`isCrossOrigin`默认为`true`(可选)cb          回调函数返回值: Image对象。
loadBinary

加载二进制文件(异步)。

参数:url         资源路径(注意,必须是全路径)cb          回调函数返回值: 二进制数据。
loadBinarySync

加载二进制文件(同步,不推荐使用)。

 getUrl 

获取到资源全路径。

参数:basePath    资源的根路径url         资源路径返回值:资源全路径。

cc.loader.getUrl("res","a.png");//-->"res/a.png"cc.loader.getUrl("a.png");//(set cc.loader.resPath = "res")--->"res/a.png"。

load

加载资源的入口API。相当于原来的cc.Loader.preload

参数:res         资源列表,可以是一个数组或者一个string或者一个包含`src`属性的对象。option      选项(可选),有以下属性:            cb              回调函数            cbTarget        回调函数的执行者            trigger         触发器(函数)            triggerTarget   触发器的执行者cb          回调函数(可选)

var res = ["res/a.png","res/a.pList","audio/b.mp3"];var testTarget = { name : "the name is testTarget",trigger : function(){...},cb : function(err){...}};var option = { trigger : testTarget.trigger,triggerTarget : testTarget,cbTarget : testTarget}//用法1:cc.loader.load(res,option,function(err){ if(err) return console.log("load Failed"); console.log(this.name);//the name is testTarget});//用法2:cc.loader.load(res,function(err){ if(err) return console.log("load Failed");});//用法3:option.cb = testTarget.cb;cc.loader.load(res,option);//用法4:cc.loader.load(res);

loadaliases

加载pList配置文件从而获得别名。

参数:url             配置文件url                配置文件的格式如下:                    <?xml version="1.0" enCoding="UTF-8"?>                    <!DOCTYPE pList PUBliC "-//Apple//DTD PList 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">                    <pList version="1.0">                    <dict>                        <key>Metadata</key>                        <dict>                            <key>version</key>                            <integer>1</integer>                        </dict>                        <key>filenames</key>                        <dict>                            <key>grossini.bmp</key>                            <string>res/Images/grossini.png</string>                        </dict>                    </dict>                    </pList>cb              回调用法:cc.loader.loadaliases("res/lookup-HTML5.pList",function(){    var sprite = cc.Sprite.create("grossini.bmp");    self.addChild( sprite );    sprite.x = winSize.wIDth/2;    sprite.y = winSize.height/2;});
register

注册loader。

参数:extnames        后缀名(String数组或者String)loader          loader对象,                必须包含一个名为"load"的方法,                方法将接受四个个参数:realUrl,url,res,cb,分别表示资源全路径、原来的路径、res对象(就是cc.loader.load方法的资源列表的项),回调函数。                可能包含一个名为"getBasePath"的方法,该方法返回该类型资源的根路径,不设置该方法默认为cc.loader.resPath。返回值:无

cc.txtLoader = { load : function(realUrl,cb){ cc.loader.loadTxt(realUrl,cb); }}cc.loader.register(["txt","xml","tmx","tsx"],cc.txtLoader); getRes

获取资源缓存数据。

参数:url         资源路径(非全路径)返回值:     资源数据

var img = cc.loader.getRes("a.png"); release

释放资源缓存数据。

参数:url         资源路径(非全路径)返回值:     无

cc.loader.release("a.png"); releaseAlll

释放所有的资源缓存数据

参数:         无返回值:       无

cc.loader.releaseAll(); 注册loader插件

引擎自带loader写在ccloaders.Js中。实现方式也很简单,相信看下源码就懂了,这里就不多说了。

资源配置格式

这次cc.loader的改造,也废除了v2版本中一直让人诟病的资源列表的配置。

v2:

var resources = [    {src:"res/a.png"},{Fontname:"Marker Felt",src:[{src:"res/cocosgui/Marker Felt.ttf",type:"truetype"}]},{        Fontname:"Schwarzwald Regular",src:[            {src:"res/Fonts/Schwarzwald_Regular.eot",type:"embedded-opentype"},{src:"res/Fonts/Schwarzwald Regular.ttf",type:"truetype"}        ]    }]

v3:

var resources = [    "res/a.png","res/cocosgui/Marker Felt.ttf",{        type:"Font",name:"Schwarzwald Regular",srcs:["res/Fonts/Schwarzwald_Regular.eot","res/Fonts/Schwarzwald Regular.ttf"]    }]

在v3中,通常情况下只要配路径就行,这样简化了配置,同时减少了对象的频繁创建。 如果有特殊需求,例如Font,就使用{type:"resType",name:"resname"}的数据结构自定义自己的资源加载配置方案。type字段指定注册的loader插件,name加上"."再加上type来作为缓存资源的key值。

注意,v2版本中的资源列表配置在v3中是不支持的。


转载:http://www.douapp.com/post/2452

总结

以上是内存溢出为你收集整理的cocos2d-js官方文档 cc.loader全部内容,希望文章能够帮你解决cocos2d-js官方文档 cc.loader所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1081002.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-27
下一篇2022-05-27

发表评论

登录后才能评论

评论列表(0条)

    保存