用户:
超级星灵查看:147 回复:7 评论:25 创建时间:2022-04-10T19:03:44
怎么实现按e,模型出现聊天框?
// 先在场景中放置一个名称为 NPC 的实体。
const npc = world.querySelector('#NPC');
npc.enableInteract = true; // 允许进行互动
npc.interactRadius = 16; // 实体的互动范围
npc.interactHint = npc.id; // 互动提示框显示实体的名称
npc.interactColor = new Box3RGBColor(1,1,1); // 互动提示的文字颜色
// 玩家与实体进行交互时触发
npc.onInteract(async({entity}) => {
const result = await entity.player.dialog({
type: Box3DialogType.TEXT, // 对话框的类型,TEXT是文本框。
title: npc.id, // 对话框标题为NPC名字,表示正在说话的是NPC
lookEye: entity, // 将相机放在玩家位置
lookTarget: npc, // 相机镜头对准NPC
content: `你好,${entity.player.name},很高兴认识你。`,
});
});点赞0
评论
API文档里有
还要用一次的话可以把npc换成been
npc只是一个变量,所以改成什么不重要
那为什么我用第二个的模型会报错....
发代码和报错信息
const npc你说是变量???不是常量吗???
因为你已经声明了npc这个常量,常量无法改变的
不是的,这里是用const定义一个名为npc的变量,后边的world.querySelector('#NPC')是世界中的一个名为NPC的模型
我也知道啊,是这个定义的变量const npc这个npc已经被声明了啊,你要换一个常量名才行()()
你跟我讲const 定义一个变量?()(()()()不是应该用var 吗()()()(。。。。。
定义变量你不用var也行
let var const都可以
这个不是普通定义一个字符串或数值,而是代替世界中的一个实体
除了var就只有let了吧)))不会const可以定义变量吧()()()
const 我看吉吉视频里API里可以的
https://docs.box3.codemao.cn/
还有一种,啥都不写,直接a=0
Robot一只屑代码师
点赞2
评论
哦,它的意思是变量npc已经被定义过了,可能是你在第2串交互代码中仍然用的是npc
你应该定义一个新变量,然后把第2串代码中所以npc改成新变量
这句话是完成时identifier是变量的意思,npc是主语,has是完成时助动词,already是已经,been是be的过去分词,declared是定义的意思。(秀英语😁😏🤪😜)