领域动作定义档、就是用来定义当玩家对地图各领域进行操作时,所执行的动作。
扩展名是 .ma 、一般与地图画面原图同名。例如说、地图画面原图名为 map.png 的情况、领域动作定义档就应命名为 map.ma 。
领域动作定义档同样也是文本文件,可以使用文本编辑器进行编辑。
领域动作定义档中、一行的书写格式如「领域编号 : 玩家操作后执行的内容」,行数与领域数应当是一一对应的 ( 冒号为半角 )。
仍然以之前的地图为例子、
11: hint="埼玉"; storage="maptest2.ks"; target="*m11";
8: hint="群馬"; storage="maptest2.ks"; target="*m8";
7: hint="栃木"; storage="maptest2.ks"; target="*m7";
9: hint="茨城"; storage="maptest2.ks"; target="*m9";
10: hint="千葉"; storage="maptest2.ks"; target="*m10";
12: hint="東京"; storage="maptest2.ks"; target="*m12";
2: hint="神奈川"; storage="maptest2.ks"; target="*m2";
3: hint="山梨"; storage="maptest2.ks"; target="*m3";
1: hint="静岡"; storage="maptest2.ks"; target="*m1";
4: hint="長野"; storage="maptest2.ks"; target="*m4";
5: hint="新潟"; storage="maptest2.ks"; target="*m5";
6: hint="福島"; storage="maptest2.ks"; target="*m6";
在定义档里这么写的话。领域编号和上面领域图片的索引色是一一对应的。
「
动作」 ( 冒号以后的部分 ) 虽然并不是 KAG 的语法,而是 TJS 的格式,但并不是很难的东西。
「属性名=値;」只是需要按照这样的形式书写而已。请不要忘记使用分号把属性分开就可以了。
可以使用的属性名有以下几个。
- storage, target, onenter, onleave, hint, exp, countpage
- 这里提供的功能和 link 指令是完全一样的,但请把属性的值使用 " " ( 半角双引号) 括起来 ( 就像范例里所写的那样 )。不使用 " " 的话,将无法正常执行。
- cursor
- 当鼠标移动到地图领域上时,可以设定显示不同的游标样式。和使用 cursor 指令指定游标的方法相似、使用以 cr 开头的系统游标样式的情况,不需要加 & 直接写名称即可 ( 例如 cursor = crSizeAll; )。使用游标文件(ani,cur之类)的情况下,使用 " " (半角双引号) 将文件名括起来 ( 例如 cursor = "wagtail.ani"; )。
领域动作定义档中、归属领域编号 0 的这行、是用来指定特别属性的。现在的版本,可以使用的有 autodisable 属性。例如、
0 : autodisable=false;
像这样写的话,即使已经点击过地图,地图也不会变为无效 ( 无法操作 )状态 。一般情况下,不做这样的指定也 OK 。
假如不这么做,也就是说不在编号 0 这行进行设定、在点击了地图之后、再次使用
image 指令重载图片或
mapaction 指令重新定义领域之前,地图将会变为无效 ( 无法点第二次 ) 状态。
Note
假如有某个领域没有在动作定义档中定义、该领域将被无视。例如、想要根据条件让某几个领域不可用的情况,可以使用 TJS 形式的 if 判断、
11: if(f.flag == 1) { hint="埼玉"; storage="maptest2.ks"; target="*m11"; }
像这样写的话就可以了。这么写的话、当 f.flag 为 1 时、「hint="埼玉"; storage="maptest2.ks"; target="*m11";」这个领域才会被定义。