1 Star 1 Fork 31

LShrimp游戏 / ccc-tnt-framework

forked from 伍拾陆 / ccc-tnt-framework 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
弹窗管理.md 1.97 KB
一键复制 编辑 原始数据 按行查看 历史
伍拾陆 提交于 2023-06-30 16:45 . ..

弹窗管理

UIMgr

  1. 基础使用
    使用框架插件 生成 UI 声明文件 后,调用时会有代码提示和参数类型检查

img1

   tnt.uiMgr.showWindow('PauseWindow', { pauseBgm: true }, (pauseWindow) => {

        //增加弹窗关闭监听处理
        pauseWindow.addCloseListener(() => {
            // 这里会在  PauseWindow  关闭之后显示 "DialogWindow"
            tnt.uiMgr.addToQueue('DialogWindow', () => {

            });
            //在队列后追加弹窗
            tnt.uiMgr.addToQueue('VictoryWindow', { 'awards': [] });
            // 开始显示
            tnt.uiMgr.showQueue(() => {
                console.log(`弹窗队列完成`);
            });
        });
    })
  1. 弹窗队列

//在队列后追加弹窗
tnt.uiMgr.addToQueue('PauseWindow', { 'pauseBgm': true }, () => {
    // 插入到队列最前面,这里会在  PauseWindow  关闭之后显示 "DialogWindow"
    tnt.uiMgr.insertToQueue('DialogWindow', () => {

    });
});
  //在队列后追加弹窗
tnt.uiMgr.addToQueue('VictoryWindow', { 'awards': [] });

// 开始显示
tnt.uiMgr.showQueue(() => {
    console.log(`弹窗队列完成`);
});

注意:正常显示的弹窗与队列弹窗的方法无法交叉使用

  1. 通用背景设置

具体可以查看 WindowScene

tnt.uiMgr.setMaskLayerController(CaptureScreenMaskLayerController.getInstance());
  1. 场景切换还原界面
  2. 调试输出到界面
tnt.uiMgr.showDebugToast("...");
  1. 全屏屏蔽输入
tnt.uiMgr.showBlockInput();
tnt.uiMgr.closeBlockInput(); 
  1. 插件,可参考 TopMenuBarPluginUIDebugToastPlugin 的使用

以上 showWindow 使用字符串的方式是为了减少脚本的相互引用,以便跨 Bundle 调用弹窗
如果你可以保证正确的引用依赖,可以使用 showWindowByClass

1
https://gitee.com/lshrimp-game/ccc-tnt-framework.git
git@gitee.com:lshrimp-game/ccc-tnt-framework.git
lshrimp-game
ccc-tnt-framework
ccc-tnt-framework
master

搜索帮助

53164aa7 5694891 3bd8fe86 5694891