|
都知道 梦幻有3个黄金卡位点 基本是经过必卡
天宫右上去月宫拐角
月宫第一个拐弯
花果山去海底方向拐弯
分析了好久 终于明白原理所在了
就以花果为例
被卡住的点坐标是20 32
为何会卡住呢
原因在于 自动行走的计算公式是选取出发点和终点 从选取的两点之间逐个判定最短位移点
比如你从(0 0 ) 到(90 90 )
就是按(0 0) ,(1 1),( 2 2 )的位移逐个判定过去
如果你想从(0 0 )到(1 2)
有两种走法 一是(0 0 )(1 1 ) (1 2 ) 二是(0 0)(0 1)(1 2)
两者都是最佳路线 这种情况下 系统会随机选择一种
但是还存在一种情况
如果(0 1)是个不可行走点 那么结果就是 你经过(0 1)的时候被判定为不可移动 而被卡住
也会你会说 系统不是只判定可行走点么 那么(0 1)这个点岂不是被去除了
这正是BUG所在
系统判定的时候 只选取了最近路线 但是忽视了一点 这个最近路线能否达成
只有连续“纵或横”2个点不能行走时 系统会判定为无法通过而绕道
但是连续2个“斜”无法无法行走时 却没有这个判定!!!
导致连续两个斜点无法行走时 系统会判定交叉通过 但丝毫不会判定这两个斜点是否构成一条不可行走于线!! (这也导致了只占用1个坐标的墙的撞墙行为)
我们绘一幅图来说明 X代表不可用点O代表可用点
X O
0 X
本身此时走两个是O可以通过的
但花果山20 32恰恰给这样的判定开了一个不大不小的玩笑
D D D
D X C A
B C X
A为目的地 B为出发地 C D为两种路线 最佳路线咋一看是走右边C路线
但实际上右边能走吗? 不能的 大家上游戏看看 那是山崖! 走不过去 系统这样判定 你的结果就是撞墙 被卡
总结
此BUG的根源在于 系统光顾着判定最佳路线 却完全忽视了实际游戏中的地形问题
导致被卡事件的发生
[ 本帖最后由 夜星飘云 于 2010-1-20 21:20 编辑 ] |
|