Project1

标题: 请帮偶看下以下脚本如何解释呢?不懂呵…… [打印本页]

作者: dabojun    时间: 2012-5-14 10:56
标题: 请帮偶看下以下脚本如何解释呢?不懂呵……
def bigevent_passable?(x, y, d)  
……
……
……
unless $game_map.passable?(new_x, new_y, 10 - d)
              # 不能通行
              return false
            end
请问为何要用“10 - d”来判断方向呢?d的值为2,4,6,8,0;10 - 0 == 10 又怎么处理呢?{:2_283:}



请问什么情况下会出现“# 事件坐标与移动目标坐标一致的情况下”这种情况呢?想不通呢?{:2_257:}
              if event.areas.include?(new_point) and self != event

# 自己就是事件的情况下
          if self != $game_player
            # 不能通行
            return false
          end
又要怎么理解呢??为什么“自己就是事件的情况下”就不能通行呢?{:2_265:}
dsu_plus_rewardpost_czw
作者: orzfly    时间: 2012-5-14 19:47
d 的问题请研究 Game_Map.passable?。2, 4, 6, 8 代表四方向的通行,即从某方向进入。10 代表总的通行。

后面的问题请自行研究 Game_Character.passable?。这个占地面积的是在那个基础上改的。

读脚本请注意缩进的层次。
作者: dabojun    时间: 2012-5-14 20:28
“总的通行”是指全方向通行吗?
作者: end55rpg    时间: 2012-5-14 23:14
10-d
算一下就知道
是获取反方向
比如up就是down
其他自己想吧passable是event player公用的
注意看都继承character类
作者: dabojun    时间: 2012-5-16 11:26
本帖最后由 dabojun 于 2012-5-16 11:27 编辑
orzfly 发表于 2012-5-14 19:47
d 的问题请研究 Game_Map.passable?。2, 4, 6, 8 代表四方向的通行,即从某方向进入。10 代表总的通行。

...


看了Game_Character.passable?但其实疑问未消,我能理解当出现几种情况下,会出现是否允许角色通行。
可是这一段:# 事件坐标与移动目标坐标一致的情况下||后面的主角… (何时才会出现这种情况啊??)
      if event.x == new_x and event.y == new_y
        # 穿透为 ON
        unless event.through
          # 自己就是事件的情况下   (以及这一句也相当不能理解,角色是事件时 为什么不能通行呢??)
          if self != $game_player
            # 不能通行
            return false
          end
作者: orzfly    时间: 2012-5-16 12:41
dabojun 发表于 2012-5-16 11:26
看了Game_Character.passable?但其实疑问未消,我能理解当出现几种情况下,会出现是否允许角色通行。
可 ...

检查地图上的事件是否在我要去的那格……
如果对方在我要去的地方并且对方是不可以穿透的
  如果我不是主角:此路不通
  如果对方有行走图:此路不通
结束如果……

这也就是为什么空白事件(没有设置行走图也没有勾选可以穿透),主角可以走过去但是别的事件走不过去的原因……
作者: dabojun    时间: 2012-5-16 15:50
本帖最后由 dabojun 于 2012-5-16 15:57 编辑
orzfly 发表于 2012-5-16 12:41
检查地图上的事件是否在我要去的那格……
如果对方在我要去的地方并且对方是不可以穿透的
  如果我不是主 ...


嗯,逐渐理解了,这里的“我”=>self 翻译为“角色”可好?这个伪变量有时容易误导人,如果不对应“类”来看


‘‘──dabojun于2012-5-16 16:05补充以下内容

多谢解答~
’’
作者: orzfly    时间: 2012-5-16 16:36
dabojun 发表于 2012-5-16 15:50
嗯,逐渐理解了,这里的“我”=>self 翻译为“角色”可好?这个伪变量有时容易误导人,如果不对应“类” ...

这里的 self 可能是事件或主角。

因为 Game_Event & Game_Player 都继承于 Game_Character

另外默认脚本注释很糟糕,被他搞得看不懂还不如静下心来读读代码
作者: dabojun    时间: 2012-5-16 18:36
orzfly 发表于 2012-5-16 16:36
这里的 self 可能是事件或主角。

因为 Game_Event & Game_Player 都继承于 Game_Character

嗯,是呢。其实我需要的是了解编程的思路,所以有时不得不反推代码到中文,如果能掌握程序思维,我剩下的工作只剩翻译了呵,尽管翻译为代码很难,要走的路很漫长……
不多说了,这个贴我要结了。感谢参与解答的各位同学。


‘‘──dabojun于2012-5-16 18:38补充以下内容

其他帖子会分好,
’’




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