Project1

标题: 如何判定面前的地图块? [打印本页]

作者: 546936326    时间: 2013-9-21 21:11
标题: 如何判定面前的地图块?
比如有一个物品钓竿,必须要面对水面使用这个物品才有效果,该如何判定面前是水面??谢谢> <
作者: RyanBern    时间: 2013-9-22 09:25
楼主需要把下面几行代码粘贴到脚本编辑器Main组之前,然后进行如下操作即可。
  1. class Game_Character
  2.   def terrain_tag_ahead
  3.     new_x = @x + (@direction == 6 ? 1 : @direction == 4 ? -1 : 0)
  4.     new_y = @y + (@direction == 2 ? 1 : @direction == 8 ? -1 : 0)
  5.     return $game_map.terrain_tag(new_x,new_y)
  6.   end
  7. end
复制代码
脚本的作用是判断角色面前的地形标志。
1.将脚本复制到脚本编辑器Main组之前
2.打开数据库,选择图块,看到第一行第二个图块代表水面,将其地形标志设为1

3.在数据库中,制作一个公共事件,事件的指令如下
$t = $game_player.terrain_tag_ahead
条件分歧 $t == 1
XXXXXXXX
除此以外的场合
XXXXXXXX

4.把物品的处理链接到这个公共事件上,便大功告成。
注意:取得地形标志的时候,是取得最上层元件的地形标志。水面一般是第一层,因此这种方法成功,水面上面相同位置(也就是第二层和第三层)不能有别的元件,否则会失败。
      一旦按照这种方法设定,所有地形标志为1的图块,函数都会判定“这是一个水面”,如果想要设置别的地形标志,请选择别的序号。(游戏中所有元件的默认地形标志是0,
      地形标志可以设置为0~7)
作者: 546936326    时间: 2013-9-24 20:00
RyanBern 发表于 2013-9-22 09:25
楼主需要把下面几行代码粘贴到脚本编辑器Main组之前,然后进行如下操作即可。脚本的作用是判断角色面前的地 ...

啊0v0非常感谢~!




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