魔塔之拯救白娘子 完整工程下载地址:
《魔塔之拯救白娘子》地图编辑器:流程控制-卡通选择
本课主要讲一下,卡通图片的选择。如下图所示。
卡通图片由3种:
①基础类:25个,主要是路面、NPC、门、楼梯之类。
②刀具类:28个,主要是红宝石、血瓶、武器等道具。
③怪物类:34种,各种妖魔鬼怪。
前一课,在地图编辑器流程控制第一项地图数据初始化后,接着就是,卡通图片初始化。下图的代码就是:
'地图编辑器
Sub 地图编辑器_初始化()
'绘制一个6*6的区域作为选择绘制图形的地方
地图编辑器_选择图形Draw
If 地图编辑器界面按钮按下标志1 = False Then
With 储存按钮的图形数组(0)
'.SetDisplayRect 0, 0, 128, 64
.SetScale 0.3, 0.3
.Cell = 1
.DrawGraph 400, 10
End With
Else
With 储存按钮的图形数组(1)
'.SetDisplayRect 0, 0, 128, 64
.SetScale 0.3, 0.3
.Cell = 1
.DrawGraph 400, 10
End With
地图编辑器界面按钮按下标志2 = False
地图编辑器界面按钮按下标志3 = False
End If
If 地图编辑器界面按钮按下标志2 = False Then
With 储存按钮的图形数组(2)
'.SetDisplayRect 0, 0, 128, 64
.SetScale 0.3, 0.3
.Cell = 1
.DrawGraph 485, 12
End With
Else
With 储存按钮的图形数组(3)
'.SetDisplayRect 0, 0, 128, 64
.SetScale 0.3, 0.3
.Cell = 1
.DrawGraph 485, 12
End With
地图编辑器界面按钮按下标志1 = False
地图编辑器界面按钮按下标志3 = False
End If
If 地图编辑器界面按钮按下标志3 = False Then
With 储存按钮的图形数组(4)
'.SetDisplayRect 0, 0, 128, 64
.SetScale 0.3, 0.3
.Cell = 1
.DrawGraph 570, 10
End With
Else
With 储存按钮的图形数组(5)
'.SetDisplayRect 0, 0, 128, 64
.SetScale 0.3, 0.3
.Cell = 1
.DrawGraph 570, 10
End With
地图编辑器界面按钮按下标志1 = False
地图编辑器界面按钮按下标志2 = False
End If
If 地图编辑器界面按钮按下标志_清空地图 = False Then
With 储存按钮的图形数组(6)
'.SetDisplayRect 0, 0, 128, 64
.SetScale 0.3, 0.3
.Cell = 1
.DrawGraph 220, 420
End With
Else
With 储存按钮的图形数组(7)
'.SetDisplayRect 0, 0, 128, 64
.SetScale 0.3, 0.3
.Cell = 1
.DrawGraph 220, 420
End With
End If
If 地图编辑器界面按钮按下标志_保存地图 = False Then
With 储存按钮的图形数组(8)
'.SetDisplayRect 0, 0, 128, 64
.SetScale 0.3, 0.3
.Cell = 1
.DrawGraph 80, 420
End With
Else
With 储存按钮的图形数组(9)
'.SetDisplayRect 0, 0, 128, 64
.SetScale 0.3, 0.3
.Cell = 1
.DrawGraph 80, 420
End With
End If
If 地图编辑器界面按钮按下标志_载入地图 = False Then
With 储存按钮的图形数组(10)
'.SetDisplayRect 0, 0, 128, 64
.SetScale 0.3, 0.3
.Cell = 1
.DrawGraph -70, 420
End With
Else
With 储存按钮的图形数组(11)
'.SetDisplayRect 0, 0, 128, 64
.SetScale 0.3, 0.3
.Cell = 1
.DrawGraph -70, 420
End With
End If
End Sub
地图编辑器_选择图形Draw:这个子程序的作用,就是3种卡通图片之间的切换(根据你的点击类型来判断),由于卡通数目不一样,所以在这里进行了分行显示。
Sub 地图编辑器_选择图形Draw()
Dim j As Integer
Dim k As Integer
Dim 偏移值 As Integer
图片X坐标 = 440
图片Y坐标 = 100
If 地图编辑器界面按钮按下标志1 = True Then
For j = 1 To 25
If j < 10 Then 偏移值 = j * 32
If j > 9 And j < 19 Then 偏移值 = (j - 9) * 32
If j > 18 And j < 29 Then 偏移值 = (j - 18) * 32
With 储存基本的物体图形数组(j)
.Cell = 1
.DrawGraph 图片X坐标 + 偏移值, 图片Y坐标
End With
If j = 9 Then 图片Y坐标 = 图片Y坐标 + 40
If j = 18 Then 图片Y坐标 = 图片Y坐标 + 40
Next j
End If
If 地图编辑器界面按钮按下标志2 = True Then
For j = 1 To 28
If j < 10 Then 偏移值 = j * 32
If j > 9 And j < 19 Then 偏移值 = (j - 9) * 32
If j > 18 And j < 29 Then 偏移值 = (j - 18) * 32
If j > 27 And j < 37 Then 偏移值 = (j - 27) * 32
'If J > 34 Then 偏移值 = (J - 34) * 32
With 储存基本的物体图形数组(29 + j)
.Cell = 1
.DrawGraph 图片X坐标 + 偏移值, 图片Y坐标
End With
If j = 9 Then 图片Y坐标 = 图片Y坐标 + 40
If j = 18 Then 图片Y坐标 = 图片Y坐标 + 40
If j = 27 Then 图片Y坐标 = 图片Y坐标 + 40
'If J = 33 Then 图片Y坐标 = 图片Y坐标 + 40
' 图片Y坐标 = 图片Y坐标 + 32
Next
End If
If 地图编辑器界面按钮按下标志3 = True Then
For j = 1 To 36
If j < 10 Then 偏移值 = j * 32
If j > 9 And j < 19 Then 偏移值 = (j - 9) * 32
If j > 18 And j < 29 Then 偏移值 = (j - 18) * 32
If j > 27 And j < 37 Then 偏移值 = (j - 27) * 32
'If J > 34 Then 偏移值 = (J - 34) * 32
With 储存基本的物体图形数组(80)
.Cell = j
.DrawGraph 图片X坐标 + 偏移值, 图片Y坐标
End With
If j = 9 Then 图片Y坐标 = 图片Y坐标 + 40
If j = 18 Then 图片Y坐标 = 图片Y坐标 + 40
If j = 27 Then 图片Y坐标 = 图片Y坐标 + 40
'If J = 33 Then 图片Y坐标 = 图片Y坐标 + 40
' 图片Y坐标 = 图片Y坐标 + 32
Next
End If
End Sub
接下来就是程序关键的一环:动态显示地图上的卡通!