使用微信小游戏制作工具完成游戏的对话逻辑
2026/7/11 13:37:27 网站建设 项目流程

最近正在尝试做一款小游戏,于是选择了相对简单的微信小游戏制作工具,其中有一个很常见的对话模块,以下是本人的一些想法:

一.存放对话内容
首先要搞清楚,游戏对话一般都是预设好的,所以对话内容应该新建一个表来存储,等到需要用的时候再向后一个个读取就行,这里可以创建多个列表(即一维数组)来存放对话内容,但在这里我选择采用表格(二维数组)的方式来存放,这样就避免了多次创建表格同时也方便了对话的管理和修改。

二.设置变量
这里我设置了两个变量分别是a(推进对话),b(对话号),以及列表c(对话长度),其中变量a用来1记录精灵的点击次数,来判断“对话文字”应该输出表格中的第几句话,b用来记录第几列(这里我把每一个对话存为一列,不同的对话在不同列),由于每段对话的的长度不同,这里我新加入一个列表c用来记录每段对话的长度,当对话进行到最后一句,再触发后面的条件判断部分。

三.构建逻辑部分

这里可以清楚地看到当精灵被点击是,变量a就会增加一这时推进文字显示表格中该列的下一行内容,达到点击切换下一行的目的,如果只是显示一则对话只有这部分就可以,但是我的目的是显示不同的对话,所以当对话进行到最后一句时我们可以将变量a归0然后方便下一次调用该模块,同时将对话部分隐藏(这里也可以对容器(即将多个精灵作为一个整体。容器的设置方式:在编辑区同时框选多个精灵,此时可以看到层级管理部分被框选的精灵都处于被选择状态,此时右键编辑器精灵就可以设置容器了,如果有其他精灵被放进容器,只需要在层级区长按拖动将其移出容器)进行隐藏)以停止这部分精灵的交互

对话长度列表只有一列,即对应对话长度,可以加一列注释方便后期修改参数,表中通过编号表示不同的交互精灵(对象)例如npc1的对话长度就是第一行的数据,npc2的对话长度就是第二行的数据,这样我们就只需要给npc编号即加入一个全局变量(b)用来表示每一则对话的编号,当点击不同的npc时,将b修改成对应值用来查询表c的不同行的数据,同时也可以用来查询对话列表的不同列的对应的对话,这样就实现了不同npc交互后显示不同对话,同时总是可以完整地将对话进行下去。

对话后的选项问题:

一般对话后都会有选项,其实选项的逻辑和对话时一样的,只不过交互对象由原来的一个变为了多个 ,如果是每个选项之间只是数值的倍率不一样的话,我的想法是设置一个变量(x)用来存放选择结果,例如a选项加10,b选项加5,c选项加1,当选a时将x设为10,同时通知选择容器隐藏,之后只需要读取记录不同事件的数值的表格中的数据再乘以x就得到了选择后的数值结果,完成了一次选择。

当然,以上的模式还是有不完善的地方,比如有些对话只能进行一次,这里我的想法是当对话进行完毕后修改第一句话的内容为“没有新对话”之类的字符串,同时在显示第一句对话后判断内容是否为“没有新对话”,如果是就终止对话,反之则继续。

以上就是我对游戏中对话的理解以及实现方法。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询