本帖最后由 蓝烟清 于 2011-10-8 15:24 编辑
第七讲 对话框
7.1 介绍与遗留问题
对话框是构成整个剧情的基本要素,必须要熟练掌握。目前所有剧情的发展都是通过对话框提示,最复杂的对话框是say,需要多加练习才能真正去理解。
学习目标:掌握各种对话框方式的运用
遗留问题:暂无
7.2 函数定义
Talk(s, pid); --简单对话框
TalkEx(s,pid,flag); --扩展对话框,可定义对话框出现的位置
say(s,pid,flag,name); --复杂对话框,除定义位置外,还有显示名字、内容颜色、字体、显示延迟。
7.3 具体的说明
7.3.1 Talk
Talk(s, pid);是最简单的对话框调用方式,如果pid传的是主角,那么对头像在右下角;如果不是pid不是主角,头像是在左上角
其实内部是调用TalkEx,主角flag=0, 非主角是flag=1
例子:
Talk("测试Talk",0);
7.3.2 TalkEx
TalkEx(s,pid,flag);函数作用是弹出对话框,s是内容,pid是人物的编号
flag 取值范围0-5, 0左上角,1右下角,2无头像,3和1一样,4右上角,5左下角
例子:
TalkEx("测试TalkEx",0,4);
7.3.3 say
say(s,pid,flag,name);最复杂的对话框,name是对话时显示的名字,前面两个是不显示名字的,另外对话内容还能加一些参数
--暂停,任意键后继续,p
--控制颜色R=redG=goldB=blackW=whiteO=orange
--控制字符显示速度0,1,2,3,4,5,6,7,8,9
--控制字体ASDF
--控制换行H 分页P
--N代表自己n代表主角
例子:
say("测试GTalkEx,2这一段话会慢慢的显示",0,4,"主角");
say("R3啊~~~龙儿~~~~H吼~~~",0,4,"主角");
这个函数比较复杂,需要多尝试才能体会其中的效果。
7.4 进阶运用
功能在上面部分已经说明了,下面部分说的是编程思想。
上面的对话框都是带字符串,像上面这么用,从功能上来讲完全没问题,但是维护和扩展性极其的差。
举个例子说:现在用的是简体版,如果哪天你需要发布繁体版,你修改的方式将会是打开源码,一个一个的找出对话内容,再修改,这工作可不是这么容易做的,这种细活如果万一不小心把什么内容给错改了,那你就完蛋了。
要解决这样的问题,就必须把对话的内容独立出来,放在一个专门的文件,然后在对话时再调用。当需要修改的时候,只需要对这个文件进行修改就可以了。
新建一个文件Talk_File.lua保存在MyDIY目录下,把下面内容放进去
CC.MyTalk1 = "测试Talk";
CC.MyTalk2 = "测试TalkEx";
CC.MyTalk3 = "测试say";
在DIY.lua文件加载此文件,打开DIY.lua,输入dofile ".\\script\\MyDIY\\Talk_File.lua";
调用的时候就可以say(CC.MyTalk3,0,4,"主角");
7.5 结束语
对话框是基本,也是比较简单的,多试几次就能很好的掌握。其实还有一个更难的用法,但是做DIY不太推荐使用,代码放到附件中。
本讲至此结束了,下一讲将会是弹出框。
附件地址:
|