猫史档案馆


给地图做彩蛋(上)

用户:云游de军长渡云游de军长渡查看:0 回复:1 评论:0 创建时间:2022-08-25T11:31:27


给地图里面做个彩蛋其实很简单。下面我们先来第一个彩蛋

这个存档要求的效果是和模型交互是,给出选项,让他变色。

// 玩家与实体进行交互时触发
//在这里说一下,如果要给第二个npc使用,那么这个代码里的 npc2 就要更换,换成啥随便
npc2.onInteract(async({entity}) => {
    const result = await entity.player.dialog({
        type: Box3DialogType.SELECT,
        title: "彩蛋-1",//放一个名叫‘彩蛋-1’的npc进去
        titleTextColor: new Box3RGBAColor(0, 0, 0, 1),
        titleBackgroundColor: new Box3RGBAColor(0.968, 0.702, 0.392, 1),
        content: `恭喜你找到了彩蛋-1,可以变色,你想要什么颜色?`,
        options: ['红色', '蓝色','黄色','绿色'],   // 将提供玩家选择的选项放入数组里。
        contentTextColor:  new Box3RGBAColor(0, 0, 0, 1),
        contentBackgroundColor: new Box3RGBAColor(1, 1, 1, 1),
        lookEye: entity.position.add(entity.player.facingDirection.scale(5)),
        lookTarget: entity,
    });

    // 如果玩家点击了屏幕其他区域,取消了对话框。
    if(!result || result === null){ 
        return; 
    }

    // 判断玩家选了什么选项。
    switch (result.index) {
        case 0:
            //如果选择了第一项
            entity.player.color.set(1, 0, 0)//变红
            break;
        case 1:
            // 如果选择了第二项
            entity.player.color.set(0, 0, 1)//变蓝
            break;
        case 2:
            // 如果选择了第三项
            entity.player.color.set(1, 1, 0)//变黄
            break;
        case 3:
            // 如果选择了第四项
            entity.player.color.set(0, 1, 0)//变绿
            break;
        default:
            // 注意,使用 switch 分支的时候,不要漏了后面的 break; 
    }

});


回复

上一页1 页 / 共 1下一页
yee剑走天下yee剑走天下

有点水()

点赞0


评论