问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

神奇代码岛:初学者如何高效与NPC互动?

创作时间:
作者:
@小白创作中心

神奇代码岛:初学者如何高效与NPC互动?

引用
CSDN
9
来源
1.
https://blog.csdn.net/SMG_DSG/article/details/127584408
2.
https://blog.csdn.net/m0_75102815/article/details/128172680
3.
https://blog.csdn.net/CSDN_qy12630/article/details/129307374
4.
https://blog.csdn.net/CSDN_qy12630/article/details/128792309
5.
https://docs.box3.fun/
6.
https://docs.box3.fun/guide/help.html
7.
https://origin.jx3box.com/community/267
8.
https://www.douyin.com/shipin/7467005514937927743
9.
https://dao3.fun/

在游戏开发中,NPC(非玩家角色)是构建游戏世界的重要元素。通过与NPC的互动,玩家可以获取任务、购买物品或推动剧情发展。在《神奇代码岛》中,实现NPC交互主要分为两个步骤:模型绑定和编写交互代码。下面,我们将详细介绍三种基本的NPC交互类型:纯话语交互、输入型交互和选择型交互。

01

模型绑定

在开始编写交互代码之前,首先需要将NPC模型绑定到代码中。以下是一个基本的模型绑定示例:

// 绑定NPC模型
const npc = world.querySelector("#篮球鸡-1");
npc.enableInteract = true; // 允许模型与玩家交互
npc.interactHint = "篮球鸡"; // 设置模型头顶上的名字
npc.interactColor = new Box3RGBColor(1, 0, 0); // 设置名字颜色
npc.interactRadius = 3; // 设置交互距离

02

纯话语交互

纯话语交互是最简单的NPC交互方式,当玩家与NPC交互时,NPC会显示一段预设的对话。

npc.onInteract(({ entity }) => {
    entity.player.dialog({
        type: Box3DialogType.TEXT, // 交互类型
        title: npc.id, // 对话标题
        lookEye: npc, // 交互时看向的模型
        content: "你好,我是篮球鸡", // 对话内容
    });
});

03

输入型交互

输入型交互允许玩家输入文本,根据输入内容触发不同的响应。

npc.onInteract(({ entity }) => {
    const result = entity.player.dialog({
        type: Box3DialogType.INPUT,
        content: "请输入我的名字:",
    });
    if (result == "篮球鸡") {
        console.log("你输入对了");
    } else {
        console.log("你输入错了");
    }
});

04

选择型交互

选择型交互提供多个选项供玩家选择,根据选择结果执行不同操作。

npc.onInteract(({ entity }) => {
    const result = entity.player.dialog({
        type: Box3DialogType.SELECT,
        content: "请选择我的名字:",
        options: ["篮球鸡", "鸡尼太美", "鸡"],
    });
    if (result.index == 0) {
        console.log("False");
    } else if (result.index == 1) {
        console.log("False");
    } else if (result.index == 2) {
        console.log("True");
    }
});

05

总结

通过以上三种交互方式,你可以为游戏中的NPC添加丰富的互动内容。每种交互类型都有其适用场景:

  • 纯话语交互适合用于简单的信息传递
  • 输入型交互可以用于密码验证或谜题解答
  • 选择型交互则适用于对话分支或任务选择

在实际开发中,你还可以结合多种交互类型,创造出更复杂的NPC互动体验。随着对JavaScript编程的深入学习,你将能够开发出更具创意的游戏玩法。现在,就动手试试,让你的游戏世界更加生动有趣吧!

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号