查看: 2039|回复: 6

[已经解决] 如何在地下地图设置可以飞行的单位穿透性

[复制链接]
梦石
0
星屑
12161
在线时间
4435 小时
注册时间
2014-4-11
回帖
5616

开拓者

发表于 2014-11-13 20:13:01 | 显示全部楼层 |阅读模式

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

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

×
这个软件穿透就是全部都能穿透了的。这样进了地下地图,就连墙壁也可以穿了。
假设是鸟,会飞进墙壁不是很奇怪吗。
可是不设置穿透就连一些道路上的物体都不能穿。
我做了个坐骑鸟,在地上的时候全部能穿也没什么。可到了地下就连墙壁都穿过去了。
想用地形标志设置到了那种地形就取消穿透的,可是这样就困在墙上下不来了。
梦石
0
星屑
34465
在线时间
5096 小时
注册时间
2012-11-19
回帖
4715

开拓者

发表于 2014-11-13 21:24:44 | 显示全部楼层
Game_Map 里面不是有个取得地形标志的方法 terrain_tag 么?
然后在 Game_Character 1 的 passable? 方法里,有一句:
  1. if @through
  2.       # 可以通行
  3.       return true
  4.     end
复制代码
可以再加个条件限制:
[pre lang="ruby" line="1"]if @through and ! $game_map.terrain_tag(new_x, new_y) == X号地形标志。
      # 可以通行
      return true
    end[/pre]
可以把不可以穿透的墙壁什么的设置成  X号地形标志  就行了。

点评

没用,全部不能穿透了。  发表于 2014-11-13 22:14
xp vx va mv  va mz 各类型脚本/插件定制
回复

使用道具 举报

梦石
0
星屑
12161
在线时间
4435 小时
注册时间
2014-4-11
回帖
5616

开拓者

 楼主| 发表于 2014-11-13 22:22:02 | 显示全部楼层
芯☆淡茹水 发表于 2014-11-13 21:24
Game_Map 里面不是有个取得地形标志的方法 terrain_tag 么?
然后在 Game_Character 1 的 passable? 方法里 ...

可以了。谢谢
  if @through
       if $game_map.terrain_tag(new_x, new_y) == 1
      return false
      end
      return true
    end
回复

使用道具 举报

梦石
0
星屑
34465
在线时间
5096 小时
注册时间
2012-11-19
回帖
4715

开拓者

发表于 2014-11-13 22:24:52 | 显示全部楼层
额~,怎么这样就能行?!
  1. if @through and $game_map.terrain_tag(new_x, new_y) != X号地形标志
  2.       # 可以通行
  3.       return true
  4.     end
复制代码

点评

好用!  发表于 2019-8-29 07:44
问题应该是出在感叹号  发表于 2014-11-13 22:46

评分

参与人数 1星屑 +200 收起 理由
RyanBern + 200 认可答案

查看全部评分

xp vx va mv  va mz 各类型脚本/插件定制
回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部