魔塔之拯救白娘子~我的第一个VB6+DX8做的小游戏源码~17开始游戏-移动方向处理

魔塔之拯救白娘子 完整工程下载地址:
《魔塔之拯救白娘子》流程控制分析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

猜你喜欢

转载自blog.csdn.net/gosub60/article/details/112862138