Gamemaker与武林群侠传③ 对话系统教程

分类栏目:gamemaker教程

573

当上一篇中的函数fw_draw_text_ext_color(x,y,"按空格结束",450,c_white,c_black, 1)中的字符串"按空格结束"用数组变量替代后,即

r[n]="按空格结束";

fw_draw_text_ext_color(x,y,r[n],450,c_white,c_black, 1);​

对话系统即可迎刃而解。​​

我们可以在talk对象的create事件中把我们的对话库写进去,如图,每一句话使用一个一个数组元素r[n]代替。当想让对话事件发生,我们只需指向第一句对话的数组元素的那个数字n即可。

以上只是解决了指向问题,大家应该会疑惑为何每句话前都有两个数字。​

例如:"11你在干什么?"​​

第一个1我们设为代表主角说话,即第一位是1的时候,实现红框效果——我们的对话要出现在屏幕左下方以及我们要使用特定的背景框。​

同理,当第一位数是0时,便是狗蛋说话,此时对话框续出现在屏幕左上角且使用特定背景框。

当第一位数是9时,我设为代表对话结束。

第二位数我设为代表说话人的头像,即蓝框区域信息,假如是1,即是主角头像。范例中只有主角跟狗蛋两人所以暂时用一位数来代表。

综上所述,对话系统的整体思想是:将对话框、位置、头像等文字以外的信息使用数字代替,集成进每一句对话中。至于用什么数字代替,怎样编解码,你可以自己去定义。

以上,便是对话系统的核心思想啦。看不懂的请下载例程研究。

例程下载​​http://pan.baidu.com/s/1eSMB0UA