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

Project1

 找回密码
 注册会员
搜索
查看: 1528|回复: 2
打印 上一主题 下一主题

[已经解决] 如何判定面前的地图块?

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
51 小时
注册时间
2010-7-13
帖子
28
跳转到指定楼层
1
发表于 2013-9-21 21:11:28 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
比如有一个物品钓竿,必须要面对水面使用这个物品才有效果,该如何判定面前是水面??谢谢> <

Lv4.逐梦者 (版主)

梦石
0
星屑
9532
在线时间
5073 小时
注册时间
2013-6-21
帖子
3580

开拓者贵宾剧作品鉴家

2
发表于 2013-9-22 09:25:50 | 只看该作者
楼主需要把下面几行代码粘贴到脚本编辑器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)

评分

参与人数 1星屑 +154 收起 理由
弗雷德 + 154 认可答案

查看全部评分

回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
51 小时
注册时间
2010-7-13
帖子
28
3
 楼主| 发表于 2013-9-24 20:00:08 | 只看该作者
RyanBern 发表于 2013-9-22 09:25
楼主需要把下面几行代码粘贴到脚本编辑器Main组之前,然后进行如下操作即可。脚本的作用是判断角色面前的地 ...

啊0v0非常感谢~!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-17 21:56

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表