games/FullFire/assets/scripts/manager/ResManager.ts

135 lines
3.9 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import Common from "../common/Common";
import Define from "../common/Define";
import ResInfo from "../common/ResInfo";
// Learn TypeScript:
// - [Chinese] http://docs.cocos.com/creator/manual/zh/scripting/typescript.html
// - [English] http://www.cocos2d-x.org/docs/creator/manual/en/scripting/typescript.html
// Learn Attribute:
// - [Chinese] http://docs.cocos.com/creator/manual/zh/scripting/reference/attributes.html
// - [English] http://www.cocos2d-x.org/docs/creator/manual/en/scripting/reference/attributes.html
// Learn life-cycle callbacks:
// - [Chinese] http://docs.cocos.com/creator/manual/zh/scripting/life-cycle-callbacks.html
// - [English] http://www.cocos2d-x.org/docs/creator/manual/en/scripting/life-cycle-callbacks.html
export default class ResManager{
private static prefabArr:ResInfo[] = [];
public static loadPrefab(url:string,callBack:Function = null){
console.log("loadPrefab url = " + url);
let obj = this.isAlreadyExsit(Define.loadTypePrefab,url);
if(obj == null){
cc.loader.loadRes(url, cc.Prefab, function(err, prefab) {
if (err) {
cc.log(err.message || err);
return;
}
if(callBack != null){
callBack(prefab);
}
this.prefabArr.push(new ResInfo(url,prefab));
}.bind(this));
}else{
if(callBack != null){
callBack(obj);
}
}
}
private static isAlreadyExsit(loadType:number,ulr:string):cc.Object{
let arr = null;
if(loadType == Define.loadTypePrefab){
arr = this.prefabArr;
}
for (let index = 0; index < arr.length; index++) {
if(arr[index].key == ulr){
return arr[index].node;
}
}
return null;
}
public static loadSound(soundId:number,callBack:Function){
//加载声音
cc.loader.loadRes("sounds/music_christmas", cc.AudioClip,function(err, res){
if(err) {
console.log("【音频】资源加载错误");
return ;
}
console.log("【音频】资源加载完成");
callBack(res)
});
}
}
/*
cc.loader.loadResDir(url, cc.AudioClip,function(err, res){
if(err) {
cc.error("【音频】资源加载错误");
return ;
}
});
---------------------
作者年少轻狂s
来源CSDN
原文https://blog.csdn.net/nsqks/article/details/79899972
版权声明:本文为博主原创文章,转载请附上博文链接!
*/
/*
let self = this;
cc.loader.loadRes(url, cc.SpriteFrame, function(err, spFrame) {
if (err) {
cc.log(err.message || err);
return;
}
let node = new cc.Node('newNode');
const sprite = node.addComponent(cc.Sprite);
sprite.spriteFrame = spFrame;
self.node.addChild(node);
});
let self = this;
cc.loader.loadRes(url, cc.Prefab, function(err, prefab) {
if (err) {
cc.log(err.message || err);
return;
}
let node = cc.instantiate(prefab);
node.active = true;
self.node.addChild(node);
});
let self = this;
cc.loader.loadRes(url, cc.AnimationClip, function(err, clip) {
if (err) {
cc.log(err.message || err);
return;
}
let node = new cc.Node('animNode');
let animCtrl = node.addComponent(cc.Animation);
animCtrl.addClip(clip);
animCtrl.play('run');
self.node.addChild(node);
});
---------------------
let self = this;
cc.loader.loadRes(url, sp.SkeletonData, function(err, spine) {
if (err) {
cc.log(err.message || err);
return;
}
let node = new cc.Node('spineNode');
const ske = node.addComponent(sp.Skeleton);
ske.skeletonData = spine;
ske.setAnimation(0, 'run', false);
self.node.addChild(node);
});
*/