用户:
云游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;
}
});