【野外类战斗图】只对想这样画的作者有用的地图画法介绍
魔塔吧
全部回复
仅看楼主
吧务
level 15
怪猫♤ 楼主
【写在前面】
这篇贴子里讲述的地图画法,只对想画这类地图的作者有参考价值。
本贴讲的战斗图画法,限定于使用自然风格图块的情况下,旨在利用自然图块的特性,画出更加丰富的战斗图。对于塑造环境也有一定帮助。
本贴虽然是讨论的是画战斗图,但完全从美学角度出发,因此对于制作红海塔的作者没有帮助。
本贴的讨论环境以魔塔样板7630改为起点。
好了,楼下开始。
2020年06月02日 13点06分 1
吧务
level 15
怪猫♤ 楼主
【一:认识图块】
这是一个最基本的山道图块(004-Mountain01),来自于rpg maker xp的新建工程,其封装了一些RTP的素材,需要在媒体库内导出(如果有其他使用过这类图块的魔塔则更容易找到)。
仅有这个还不够,工程内需要对图块进行设置。这是新建工程对这个图块的设置。
这里我们忽略第一行的8个图块,那些是1个空白图块和7个自动图块,不在本贴讨论范围。
通行:块——表示这个图块整体是否可通行
通行:4方向——表示这个图块在哪些方向上可通行,假如该图块在上下两个方向可通行,则当角色位于这个图块上时,角色可以向上或向下离开此格,但向左向右却不行。
优先级——共有0-5共6个等级。整体上,优先级越高的,显示的时候越在上面,不过实际上这个优先级是和图层一起计算的。这里暂时不需要对不同图块的优先级叠加显示时的情形进行分析(假如你形成了一套比较标准的地图绘制手段,那么图块叠加时的显示通常不会是问题)。
这里要着重说明的是优先级引起的,显示在角色之上还是之下的问题。
优先级为0的图块,无论画在哪个图层,永远显示在角色下方,也就是角色位于此图块时,该图块在角色脚下。
优先级为2或以上的,无论画在哪个图层,永远显示在角色上方。
优先级为1的,当角色位于该图块下方时,该图块显示在角色下方,当角色位于该图块时,图块显示在角色上方。
比如,新建工程里的这三个图块。
在本贴的讨论范围内,了解通行,四方向,优先级这三个就足够了。
2020年06月02日 13点06分 2
吧务
level 15
怪猫♤ 楼主
【二:基本的高地实现】
本贴主要讨论的内容,就是利用上述图块中的高地图块,大致包括这些:
如何实现这样一个基本的高地呢?
第一步自然是放图块,建议在可以实现的情况下放在尽可能低的图层,比如在这个示例中,找到相应的图块后,将整个高地画在第二层是没有问题的。
第一层绘制地面图块,第二层就可以绘制这种高地。
宝石放在事件层,没什么好说的。
但对于魔塔常见的地图而言,如果假设这个高地上的6个格子都允许角色行走的话,新建工程对于该图块的默认设置就是有问题的,需要修改一些图块的四方向通行和优先级,比如,需要修改这三个图块:
将其优先级改成
通行:4方向也要改,从
改成
修改之后这个高地就正确了。
除此之外还有一个问题,就是7630改中并没有所谓的“高地判断”,也就是位于高地外面的角色仍然可以触碰来触发高地上的事件,反过来,高地上的角色仍然可以触发高地下相邻的事件。
这在使用高地的地图里是不合理的,需要修改脚本。
打开脚本编辑器,找到▲●game_player中的【接触事件启动判定】,改成这样:
(本段脚本来源:火燃法影)
(文字版脚本将在之后给出)
修改之后,就可以实现只有在高地上才能触发这个宝石事件了。
这里需要注意新脚本与原脚本的差异,364-367行是对角色所面向的图块的四方向通行度的判定(别忘了后面应有的end)。
仅仅这样修改的话也有一点问题,就是所有的位于不可通行图块上的,原本可以通过接触来触发的事件,全都无法触发(典型的例子,如果有放在桌子上的书,将无法通过接触事件来调查)。
一种解决的思路是通过开关控制,某些情况下(需要实现高地的情况下)允许上述判定,其他的情况下不允许。这里就不展开讲如何写这样的脚本了。
脚本:
#--------------------------------------------------------------------------
# ●接触事件启动判定
#--------------------------------------------------------------------------
def check_event_trigger_touch(x, y)
result = false
xd = @direction
xd = xd == 6 ? 4 : xd == 4 ? 6 : xd == 2 ?8 : xd == 8 ? 2 : 0
if $game_map.passable?(x,y,xd) and
$game_map.passable?($game_player.x,$game_player.y,$game_player.direction)
if $game_system.map_interpreter.running?
return result
end
# 全事件的循环
for event in $game_map.events.values
# 事件坐标与目标一致的情况下
if event.x == x and event.y == y and[1,2].include?(event.trigger)
# 跳跃中以外的情况下、启动判定是正面的事件
if not event.jumping? and notevent.over_trigger?
event.start
result = true
end
end
end
end
return result
end
2020年06月02日 13点06分 3
level 8
🐮[滑稽]
2020年06月02日 13点06分 4
吧务
level 15
怪猫♤ 楼主
【三:灵活使用高地图块】
上面的高地十分的基础,如果想画更丰富的地图,显然过于简单。下面说明一些其他的用于画高地的图块。
【内折】
这是我自己起的名字,指如下的四个图块:
它们可用于绘制具有内折结构的高地,示例:
注意,为了正确使用这几个图块,需要修改它们的通行:4方向,改成这样:
【台阶与山洞】
示例,两种台阶的画法:
某些图块里还会有梯子图块,可以代替台阶。
【多层高地】
示例:
上图中和高地有关的部分其实全都是画在图层二的,只要通行度和优先级设置正确,就可以实现图中理应具有的高地效果。
此图中包含了画多层高地的若干种范例,我仔细的考虑过每一处高地之间的高度差距,用墙体的格子数可以分辨出,算上底部的平地,一共有4层。
【谷地】
利用每张地图的边缘可以营造出谷地的效果。
注意这些深色的峭壁墙体,可以表现悬崖,或深不见底之地。
当然这张地图本身就是一个被围住的谷地区域。
在上述地图中合适的位置摆上其他路障和各种事件,就能形成更加多样的战斗图。另一方面,这类战斗图可以更好地表现环境,对剧情和世界观的塑造有所帮助。
2020年06月02日 13点06分 6
这么那么像精灵世纪少女的地图
2022年08月10日 07点08分
哦,是作者啊,那没事了,那顺便催更一下
2022年08月10日 07点08分
level 9
好,顶![滑稽]
2020年06月02日 13点06分 8
level 9
性感怪猫,在线授课[滑稽]
2020年06月02日 15点06分 9
level 14
[小乖][大拇指]
2020年06月02日 15点06分 10
level 11
太细了怪猫,本来造塔的谜团又解开了一部分[滑稽][大拇指]
2020年06月02日 15点06分 11
level 8
为什么有时候开工程穿墙玩时,高地间桥梁突然不能在桥下穿过了?只能走桥上了。结果有的地方到达不了了。这个bug我在阿尔西斯传第一章,剑神宝藏红川城后面副本都遇到过
2020年06月02日 15点06分 12
不是bug,打个比方,桥是不能横着走到空中的,但是你开穿墙走到空中,不穿墙自然回不去。你穿回去走正常的路下去就可以从桥下穿过了
2020年06月02日 15点06分
在那些地图的上下台阶处有个事件,经过时会改变桥图块的通行度和优先级,正常行走是必然会经过那些台阶的,但穿墙不一定
2020年06月02日 15点06分
@tedCsz 感觉就是bug[汗]我关了工程走下去,结果也没法从桥下过去了。这个存档就相当于废了,搞得后来有这种地形的塔都不敢穿墙赶路了
2020年06月02日 15点06分
@怪猫♤ 懂了[哈哈]
2020年06月02日 15点06分
level 15
塔外场景的话一些无关剧情要素的装饰物最好有多少
2020年06月02日 16点06分 13
完全没有限制,但通常可以在区域的边缘或区域的连接处添加更多的装饰。 以绘制悬崖为例,悬崖之外的部分必须有足够的区域,才能让玩家感觉到这里是悬崖
2020年06月02日 16点06分
@怪猫♤ 可以可以
2020年06月03日 00点06分
level 12
这是好的
2020年06月02日 17点06分 14
level 9
[茶杯][大拇指]
2020年06月02日 18点06分 16
level 12
好顶
2020年06月02日 23点06分 17
1 2 尾页