查看: 2493|回复: 2

[已经解决] 怎么制作一个随身携带的独木舟(小船)?

[复制链接]
梦石
0
星屑
347
在线时间
48 小时
注册时间
2017-11-18
回帖
4
发表于 2022-5-26 09:49:40 | 显示全部楼层 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有账号?注册会员

×
如题,怎么做一个类似便携道具的独木舟,只能在河流(或某特定地形上)移动,像FC版最终幻想2的独木舟一样的效果。
梦石
0
星屑
3139
在线时间
503 小时
注册时间
2020-1-29
回帖
67
发表于 2022-5-26 10:15:05 | 显示全部楼层
事件里好像有个更改地图图块,在原地图上备份一张,假设尾A和B。岸边的时候触发事件,条件分歧,当拥有独木舟时,更换角色图形,更改地图图块,假设X图块是河流图块,且A中X图块本来是不能移动的,这时将A更改为B,且B中的X图块设置为可以通行,这时即可实现水中行走功能。同理,返回岸上,在岸边触发事件,更改角色图形和地图图块即可。
回复

使用道具 举报

无限の剣制

梦石
0
星屑
10445
在线时间
5019 小时
注册时间
2013-2-28
回帖
4942

开拓者贵宾

发表于 2022-5-27 23:04:25 | 显示全部楼层
新建个脚本页插入这段
  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 ,分支条件进入 “否”的分支。

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

评分

参与人数 1星屑 +333 赞 +1 收起 理由
alexncf125 + 333 + 1 精品文章

查看全部评分

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部