设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
Project1 查看内容

运行时设定数据库(11) 图块部分

2005-10-31 00:00| 发布者: 柳柳| 查看: 3503| 评论: 0|原作者: 66RPG

摘要:    作者 SailCat(本站论坛发布)  版本与更新  2005年10月31日  相关网址  点此进入发布贴 有关数据库保存方法点此进入  范例工程 不提供  教程内容 图块
 

 作者

SailCat(本站论坛发布)

 版本与更新

 2005年10月31日

 相关网址

 点此进入发布贴

有关数据库保存方法点此进入

 范例工程

不提供



 教程内容

图块设定:
系统对象: $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个)


 

教程的通用说明

本站发布的教程,大多经过一些测试,应该都能够实现相应功能。但不保证所有的教程都是最优化的制作方法。

相关问题,点击发布贴进行讨论。谢谢您的鼓励与支持。


鲜花
拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-4-16 23:34

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

返回顶部