魔塔之拯救白娘子 完整工程下载地址:
魔塔之拯救白娘子》流程分析6:穿越楼层
我称之为跳楼,下边是子窗口设计界面:
下边为源码:
Option Explicit
Private Sub Command1_Click()
Unload Me
跳楼对话窗口显示标志 = False
End Sub
Private Sub Form_Load()
'获得主窗口的坐标
Me.Left = frmMain.Left + 1000
Me.Top = frmMain.Top + 3000
Dim rtn As Long
rtn = GetWindowLong(hWnd, GWL_EXSTYLE)
rtn = rtn Or WS_EX_LAYERED
SetWindowLong hWnd, GWL_EXSTYLE, rtn
SetLayeredWindowAttributes hWnd, 0, 150, LWA_ALPHA
'让窗口在顶层
rtn = SetWindowPos(Me.hWnd, -1, 0, 0, 0, 0, 3)
'取消窗口在顶层
'rtn = SetWindowPos(F_V.hwnd, -2, 0, 0, 0, 0, 3)
' 商店对话选择编号 = 1
跳楼对话内容初始化
End Sub
Sub 跳楼对话内容初始化()
Dim j As Integer
frmMain.清除地图上多余的主角
frmMain.写临时地图数据 (地图层号) '保存当前地图状况到临时文件里
'②自动帮玩家存档
frmMain.游戏存档 地图层号, False
'If 地图层号 - 2 = 0 Then Unload Me: Exit Sub
For j = 0 To 游戏进度.到过的最大层号
Label_商店选择(j).Caption = j + 2 & "层"
Label_商店选择(j).Visible = False
Next
For j = 0 To 游戏进度.到过的最大层号 '已走过的地图层号 - 2
Label_商店选择(j).Visible = True
游戏进度.地图当前层号 = 地图层号
游戏进度.上楼处理标志(地图层号) = True
frmMain.游戏中读取地图层次判断
Next
End Sub
Private Sub Label_商店选择_Click(Index As Integer)
frmMain.清除地图上多余的主角
frmMain.写临时地图数据 (地图层号) '保存当前地图状况到临时文件里
'②自动帮玩家存档
frmMain.游戏存档 地图层号, False
'③增加地图数量
地图层号 = Index + 2 ': 游戏中读取地图层次判断
'读取地图数据
游戏进度.地图当前层号 = 地图层号
游戏进度.上楼处理标志(地图层号) = True
frmMain.游戏中读取地图层次判断
'frmMain.读临时地图数据 (地图层号)
'frmMain.写临时地图数据 (0)
End Sub
Private Sub Timer1_Timer()
If frmMain.WindowState = 1 Then
Me.Hide
Else
Me.Show
End If
If Me.Left - 1000 <> frmMain.Left Then Me.Left = frmMain.Left + 1000
If Me.Top - 3000 <> frmMain.Top Then Me.Top = frmMain.Top + 3000
End Sub