- 令 Xoffset = CInt(MyArray(0))
- 令 Yoffset = CInt(MyArray(1))
- 如果 Abs(Xoffset) <= Abs(Xstep * RecoupY) 则
- 注释:具体怎么补偿,需要看不同游戏自己分析一下
- 令 XOrigin = XOrigin - (Abs(Xstep * RecoupY) - Abs(Xoffset))
- 条件结束
- 条件结束
- 注释:右框补偿计算开始,这里是把X轴向左推
- 如果 MapRight <> "," 并且 InStr(MapRight,",") 则
- 令 MyArray = split(MapYoffset,",")
- 令 Xstep = MyArray(0)
- 令 MyArray = Split(Offset(MapRight,MapPos,MapXoffset,MapYoffset),",")
- 令 Xoffset = CInt(MyArray(0))
- 令 Yoffset = CInt(MyArray(1))
- 如果 Abs(Xoffset) <= Abs(Xstep * RecoupY) 则
- 注释:具体怎么补偿,需要看不同游戏自己分析一下
- 令 XOrigin = XOrigin + (Abs(Xstep * RecoupY) - Abs(Xoffset))
- 条件结束
- 条件结束
- 令 GetOriginPos = XOrigin & "," & YOrigin
- 标记 EndOfFun(函数 GetOriginPos)
- 函数结束
- 函数 Offset(CurrentMapPos,NextMapPos,Xoffset,Yoffset)
- 注释:制作人员:xxchuchu
- 注释:制作时间:2011.01.09
- 注释:功能说明:[英雄无敌在线]中,计算2个游戏[地图坐标]之间的屏幕距离
- 注释:参数说明:
- 注释:Offset 返回值, 格式:X,Y 字符型,例如"-100,100"
- 注释:CurrentMapPos 出发点, 格式:X,Y 字符型
- 注释:NextMapPos 到达点, 格式:X,Y 字符型
- 注释:Xoffset 游戏坐标X+1时屏幕坐标位移值,格式:X,Y 字符型
- 注释:Yoffset 游戏坐标Y+1时屏幕坐标位移值,格式:X,Y 字符型
- 定义变量 MyArray, Rx, Ry
- 定义变量 intX, intY
- 定义变量 x1, y1, x2, y2
- 令 MyArray = Split(CurrentMapPos,",")
- 令 x1 = CInt(MyArray(0))
- 令 y1 = CInt(MyArray(1))
- 令 MyArray = Split(NextMapPos,",")
- 令 x2 = CInt(MyArray(0))
- 令 y2 = CInt(MyArray(1))
- 注释:地图坐标X轴变化进行补偿开始
- 令 MyArray = Split(Xoffset,",")
- 令 intX = CInt(MyArray(0))
- 令 intY = CInt(MyArray(1))
- 令 Rx = (x2 - x1) * intX
- 令 Ry = (x2 - x1) * intY
- 注释:地图坐标Y轴变化进行补偿开始
- 令 MyArray = Split(Yoffset,",")
- 令 intX = CInt(MyArray(0))
- 令 intY = CInt(MyArray(1))
- 令 Rx = Rx + (y2 - y1) * intX
- 令 Ry = Ry + (y2 - y1) * intY
- 注释:对返回值进行赋值
- 令 Offset = Rx & "," & Ry
- 函数结束