魔塔之拯救白娘子 完整工程下载地址:
《魔塔之拯救白娘子》流程控制分析3:
男主角移动及方向处理:
Sub 男主角移动及方向处理()
If Running <> 1 Then Exit Sub
'男主角移动.移动速度 = 0
If 自动寻路开启标志 = True Then Exit Sub
If 战斗开始标志 = True Then Exit Sub
If 对话窗口显示标志 = True Then Exit Sub
If 商店对话窗口显示标志 = True Then Exit Sub
If 跳楼对话窗口显示标志 = True Then Exit Sub
'移动方向
' 2 上
' 1左 0 右3
' 下4
'
'男主角移动.X坐标 = 地图XY坐标.mapX坐标(10)
'男主角移动.Y坐标 = 地图XY坐标.mapY坐标(6)
If Xi.KeyInput(DIK_J) Then '按下J键显示跳楼窗口
If 勇者包裹.风之罗盘数量 = True Then
'Debug.Print "地图层号" & 地图层号 & "已走过的地图层号" & 已走过的地图层号 & "地图当前层号 " & 游戏进度.地图当前层号
If 已走过的地图层号 < 地图层号 Then
已走过的地图层号 = 地图层号
End If
跳楼对话窗口显示标志 = True
Form_跳楼.Show
End If
End If
If Xi.KeyInput(DIK_K) Then '按下k键显示怪物信息
If 勇者包裹.怪物手册数量 = True Then
开启关闭显示怪物信息 = 开启关闭显示怪物信息 + 1
If 开启关闭显示怪物信息 > 1 Then 开启关闭显示怪物信息 = 0
End If
End If
If Xi.KeyInput(DIK_LEFT) Or Xi.KeyInput(DIK_A) Then '向左移动,那么移动方向=1
男主角移动.移动方向 = 1
男主角移动.移动速度 = 男主角移动.移动速度 + 1
End If
'右
If Xi.KeyInput(DIK_RIGHT) Or Xi.KeyInput(DIK_D) Then
男主角移动.移动方向 = 3
男主角移动.移动速度 = 男主角移动.移动速度 + 1
End If
'上
If Xi.KeyInput(DIK_UP) Or Xi.KeyInput(DIK_W) Then
男主角移动.移动方向 = 2
男主角移动.移动速度 = 男主角移动.移动速度 + 1
End If
'下
If Xi.KeyInput(DIK_DOWN) Or Xi.KeyInput(DIK_S) Then
男主角移动.移动方向 = 4
男主角移动.移动速度 = 男主角移动.移动速度 + 1
End If
男主角移动.移动步数 = 1 '通过键盘按动的方式,男主角移动步骤都是1,如果是鼠标移动的话,需要进行A寻路检测
End Sub