- Creator 版本:
GameFunc类静态变量

调用Bundle方法加载Bundle包
方法
调试
问题:如何成功将GameFunc静态变量赋值,而又不写死在函数方法中?
资源加载没问题,就是变量作用域问题,求大佬
参数传 GameFunc 进去
这不是变量作用域问题
就是传的GameFunc
这个只能传类的对象进去吧,ts又没有ref
那就是行不通了吗 
你在回调里直接GameFunc.GameMapPxxxxxx = asset 就行了,你搁这改形参的值有什么意义?
这样不就写死了吗,以后很多静态变量怎么办
那你就扩展下方法 传个变量名进来
不太懂 怎么改
public static LoadBundle(rootNode : Node, Record : Record<string,any>, removeNodeUrl : string, StorageVariable : any) {
assetManager.loadBundle(Record[‘abName’], (err, bundle) => {
if (err) {
console.log(’[error!] Bundle not loaded -name:’+Record[‘assetUrl’])
return;
}
//
bundle.load(Record[‘assetUrl’],(err,asset : any)=>{
if (err) {
console.log(’[error!] asset not loaded -name:’+Record[‘assetUrl’])
return;
}
if (StorageVariable !== null){
//存储到指定变量中
StorageVariable = asset
console.log(GameFunc.GameMapPlistSpriteAtlas)
}
}
public static LoadBundle(rootNode : Node, Record : Record<string,any>, removeNodeUrl : string, StorageVariable : string) {
assetManager.loadBundle(Record[‘abName’], (err, bundle) => {
if (err) {
console.log(’[error!] Bundle not loaded -name:’+Record[‘assetUrl’])
return;
}
//
bundle.load(Record[‘assetUrl’],(err,asset : any)=>{
if (err) {
console.log(’[error!] asset not loaded -name:’+Record[‘assetUrl’])
return;
}
if (StorageVariable !== null){
//存储到指定变量中
GameFunc[StorageVariable]= asset
console.log(GameFunc[StorageVariable])
}
}
还是有点写死,GameFunc[StorageVariable]= asset,能不能获取到静态变量的类呢
因为我想的是后面有很多静态变量,用这个方法去加载到资源存储进去
一个是传入一个回调函数,在回调函数里赋值,另一个改成Promise 异步去加载完成后抛出再获取
类当参数不友好。。。 等于你这个接口只能固定给这种类使用,不能给其他对象使用
不用,我就是想直接把类和静态丢进去能存就行,我不弄对象的