Project1

标题: 怎么制作一个随身携带的独木舟(小船)? [打印本页]

作者: 周君休佚    时间: 2022-5-26 09:49
标题: 怎么制作一个随身携带的独木舟(小船)?
如题,怎么做一个类似便携道具的独木舟,只能在河流(或某特定地形上)移动,像FC版最终幻想2的独木舟一样的效果。
作者: 伽罗的太华山    时间: 2022-5-26 10:15
事件里好像有个更改地图图块,在原地图上备份一张,假设尾A和B。岸边的时候触发事件,条件分歧,当拥有独木舟时,更换角色图形,更改地图图块,假设X图块是河流图块,且A中X图块本来是不能移动的,这时将A更改为B,且B中的X图块设置为可以通行,这时即可实现水中行走功能。同理,返回岸上,在岸边触发事件,更改角色图形和地图图块即可。
作者: VIPArcher    时间: 2022-5-27 23:04
新建个脚本页插入这段
  1. class Game_Interpreter
  2.   def 放下载具(type = '小舟')
  3.     x = $game_map.round_x_with_direction($game_player.x, $game_player.direction)
  4.     y = $game_map.round_y_with_direction($game_player.y, $game_player.direction)
  5.     if type == '小舟' && $game_map.boat_passable?(x, y)
  6.       vehicle = $game_map.vehicles[0]
  7.       vehicle.set_location($game_map.map_id, x, y) if vehicle
  8.       true
  9.     elsif type == '大船' && $game_map.ship_passable?(x, y)
  10.       vehicle = $game_map.vehicles[1]
  11.       vehicle.set_location($game_map.map_id, x, y) if vehicle
  12.       true
  13.     else false end
  14.   end
  15. end
复制代码

设置一个公共事件,内容如下

小舟道具的设置如下

应该就能满足你的需求了,更细节的你可以自己扩充。

下面解释一下脚本的作用
调用 放下载具('小舟') 会判断玩家面前一格的地形小舟能不能通行,如果可以则把小舟的位置设置在玩家面前,并且返回 true ,分支条件就能进入“是”的分支,
否则直接返回 false ,分支条件进入 “否”的分支。

如果需要使用大船就调用放下载具('大船')
至于我为什么使用中文做方法名,那是为了你好理解,以及调用起来方便(





欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1