猫史档案馆


【代码求助】无限循环了,但又好像没有?

用户:名探酱名探酱查看:5 回复:2 评论:5 创建时间:2022-10-03T10:08:44


在使用了这段代码后,虽然点击“继续”可以继续,但是也可以点击右上角的“X”,然后点了就没有了,请问有人知道怎么修复吗?

world.onPlayerJoin(({ entity }) => {
    while (1) { //无限循环,防止玩家点“×”
        let respawnDialog = entity.player.dialog({ //该玩家弹出一个对话框
            type: Box3DialogType.SELECT, //类型为选择对话框
            title: '作者', //将对话框的标题设为“作者”
            content: `你好(点击下面按钮部分继续)`, 
            options: ['继续'], //对话框的选项只有一个,就是“继续”
        });
        if (respawnDialog) { //如果玩家点击了选项(因为选项只有一个,所以这行代码的意思还可以是“如果玩家点击了‘继续’”)
            break; //退出无限循环
        } //这里不用判断“如果玩家没有点击选项”了,因为这是无限循环,如果不点击选项就没有break,自然就直接进行下一轮循环(重新弹出一遍对话框)了
    }
})


回复

上一页1 页 / 共 1下一页
145a145a

你没加await

点赞0


评论


萌新大佬萌新大佬

world.onPlayerJoin(async({ entity }) => {
    while (1) { //无限循环,防止玩家点“×”
        let respawnDialog = await entity.player.dialog({ //该玩家弹出一个对话框
            type: Box3DialogType.SELECT, //类型为选择对话框
            title: '作者', //将对话框的标题设为“作者”
            content: `你好(点击下面按钮部分继续)`, 
            options: ['继续'], //对话框的选项只有一个,就是“继续”
        });
        if (respawnDialog) { //如果玩家点击了选项(因为选项只有一个,所以这行代码的意思还可以是“如果玩家点击了‘继续’”)
            break; //退出无限循环
        } //这里不用判断“如果玩家没有点击选项”了,因为这是无限循环,如果不点击选项就没有break,自然就直接进行下一轮循环(重新弹出一遍对话框)了
    }
})

点赞1


评论