分享我个人写的一个简单的游戏框架

mark…

可以的,学习一下。

mark!!!

学习一下大佬的东西

mark大佬

大佬Mark

mark!1

mark!

大佬音频部分不考虑加个音频播放回调吗?

三人行 ,必有我师焉

装饰器注册事件点子不错

不错不错,mark

音频部分其实是有回调的,参数AudioPlayArgs结构是这样的,具体的看git仓库吧,这个帖子写很久了,有些东西可能我已经改过了

/**
 * 音频播放参数
 */
export interface AudioPlayArgs {
    /** AudioClip */
    clip: cc.AudioClip;
    /** 是否循环,默认false */
    loop?: boolean;
    /** 音量渐变时长,单位s。默认0 */
    fadeDuration?: number;
    /** 播放结束的回调 */
    finishCall?: () => void;
}

mark!

关于弹窗我有个想法,但没去做,类似于这样:

let dialog: SettingsDialog = ui.showDialog(SettingsDialog, params);
let p1: Promise<cc.Node> = dialog.waitForNode();
let p2: Promise<SettingsDialogResult> = dialog.waitForClose();
let p3: Promise<any> = dialog.waitForCustomAction();

这样async/await会非常方便

我的做法感觉和你说的差别不大啊

// 等待打开
await Layer.inst.openDialogAsync(url, params);
// 等待关闭
await Layer.inst.waitCloseDialog(url);

哦没注意,是差不多。

大佬,请问有QQ群吗?或者可以加一下你的联系方式不?我好喜欢这个框架,然后里面有几点不太明白,想问问你。
比如:Res.releaseAll()方法每隔60秒运行一次,然后里面的_spriteFrameCache缓存会整个释放掉,连当前正在显示的图片也不例外。这样的话,如果我当前图片还需要继续显示着,这样会有影响吗?

所有动态加载SpriteFrame的需要使用框架内的ResSprite组件去管理引用计数,这样Res.releaseAll()就不会释放这部分动态加载的资源了

请问下有3.x的版本吗

抱歉,目前没有3.x的版本