图块设定: 系统对象: $data_tilesets 一般实例: $data_tilesets[编号]
设定方法: 名称: .name = 字串 图块文件: .tileset_name = 文件名 自动元件集合: .autotile_names[0]..[6] = 文件名 一共可以设定7个自动元件,这个限制是无法突破的..残念 远景文件名: .panorama_name = 文件名 远景色相: .panorama_hue = 0..360 雾文件名: .fog_name = 文件名 雾色相: .fog_hue = 0..360 雾不透明度: .fog_opacity = 0..255 雾合成方式: .fog_blend_type = 0..2 0-普通 1-加法 2-减法 雾放大率: .fog_zoom = 正整数 可以突破100..800的限制 雾X方向滚动率: fog_sx = 整数 雾Y方向滚动率: fog_sy = 整数 战斗背景: battleback_name = 文件名 通行判定: .passages[图块ID] = 通行设置
先说一下图块ID的编号方法: 最上面一行(空白元件+7个自动元件),占用384个图块ID,可能有人要问为什么占这么多,因为自动元件地位特殊,一个自动元件有48个展开图,其图块ID是分立的,所以一个自动元件占有48个ID,为方便处理,给空白元件也分了48个(浪费啊!)于是就变成这样了 0-47是空白图块,虽然只使用0,48-95是第一个自动元件,按照自动元件的展开图如下编号: 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95
96-143是第二个自动元件,144-191是第三个……直到383是第7个结束,注意就算一个图块的自动元件不到7个,也按7个计算。
图块图像的第一格(左上角,也就是一般大家拿来铺地面的那一格)ID是384,右一格是385,第一行从左到右分别是 384 385 386 387 388 389 390 391 第二行从392开始,第三行从400开始,一直向下延伸,这个延伸一直到图块ID达到32767为限(一般再大的地图也不可能吧……)
通行设置是这样的:每个值是一个2进制8位的数,从0到255:初始为0 如果这个格子是柜台,值 + 128 如果这个格子是草木茂盛处,值 + 64 如果这个格子是上下穿行元件(自动元件的方块通行),值 + 16 如果这个格子不能向上走,值 + 8 如果这个格子不能向右走,值 + 4 如果这个格子不能向左走,值 + 2 如果这个格子不能向下走,值 + 1
优先级: .priorities[图块ID] = 0..5 0表示没有优先,超过5就显示不出来了.... 地形标志: .terrain_tags[图块ID] = -32768..32767 这个可以远远的超过正常的0-7的范围
运用例子: 运行时设定图块是一项非常强大的功能,如果你会运用的话,第一是它可以超限改变地形标记,第二是它可以即时修改通行判定和优先级的功能。举个例子,你获得了船以后,地图应该会相应改变为:河流可以通行,岸边可以通行但有方向限制,内陆山脉等不能通行。另外,通过这个功能,可以用图块来铺设四方通行的桥,只要在桥的四周加上触发(改变通行和优先级)的事件就可以,不用再拿事件来铺设桥面了。 实践证明,对于一个a*b大小的桥,如果实现四方通行功能,纯事件需要用ab个图块铺设桥面,2b个图块用做启动,2b个图块用做关闭,还要用2a个空白不能通过的图块来限制角色从桥下跑到桥上去。。。但用了运行时改变图块通行判定和优先级的方法,你只需要2b个图块做启动,2a个图块做关闭就行了,其他的事件一律可以省略,直接铺地图,特别是不需要用并行处理的桥栏杆,对于运行速度会大有提高。 对比: 纯事件版四方通行桥(4x3尺寸): ---- ++++ XOOOOX oooo XOOOOX oooo XOOOOX ++++ ---- +:启动事件 -:关闭事件 X:不可通行图块 O:桥面(事件铺) o:桥栏杆(并行处理事件) 事件总数:42(其中并行事件8个)
采用修改地图图块通行/优先的方法后: ++++ -OOOO- -OOOO- -OOOO- ++++ +:启动事件 -:关闭事件 O:桥面/桥栏(图块铺) 事件总数:14(其中并行事件0个)
|