魔塔之拯救白娘子 完整工程下載地址:
《魔塔之拯救白娘子》~11地圖編輯器-地圖編輯界面鼠標點擊判斷:
鼠標點擊判斷:
①點擊的對象是卡通圖片切換:完成對3種類型的卡通切換并顯示
②點擊的對象是某個卡通圖片:獲得該開通的編號,顯示相應的信息,比如怪物屬性
③點擊的是地圖界面:根據②的在地圖界面繪制②的卡通并顯示
④其他選擇,比如退出編輯,清空地圖等等。
Sub 地圖編輯界面鼠標點擊判斷
()
If Running
<> 8 Then Exit Sub
If Xi.MouseKey
(xgL_BUTTON
) Then鼠標X坐標
= Xi.MouseX鼠標Y坐標
= Xi.MouseY
If 鼠標X坐標
= 497 Or 鼠標X坐標
> 497 And 鼠標X坐標
< 573 ThenIf 鼠標Y坐標
= 44 Or 鼠標Y坐標
> 44 And 鼠標Y坐標
< 67 Then地圖編輯器界面按鈕按下標志
1 = True地圖編輯器界面按鈕按下標志
2 = False地圖編輯器界面按鈕按下標志
3 = False
地圖編輯器界面_選擇圖形編號
= 1
End IfEnd IfIf 鼠標X坐標
= 582 Or 鼠標X坐標
> 582 And 鼠標X坐標
< 656 ThenIf 鼠標Y坐標
= 44 Or 鼠標Y坐標
> 44 And 鼠標Y坐標
< 67 Then地圖編輯器界面按鈕按下標志
1 = False地圖編輯器界面按鈕按下標志
2 = True地圖編輯器界面按鈕按下標志
3 = False
地圖編輯器界面_選擇圖形編號
= 1
End IfEnd IfIf 鼠標X坐標
= 666 Or 鼠標X坐標
> 666 And 鼠標X坐標
< 742 ThenIf 鼠標Y坐標
= 44 Or 鼠標Y坐標
> 44 And 鼠標Y坐標
< 67 Then地圖編輯器界面按鈕按下標志
1 = False地圖編輯器界面按鈕按下標志
2 = False地圖編輯器界面按鈕按下標志
3 = True
地圖編輯器界面_選擇圖形編號
= 1
End IfEnd IfIf 鼠標X坐標
= 174 Or 鼠標X坐標
> 174 And 鼠標X坐標
< 252 ThenIf 鼠標Y坐標
= 455 Or 鼠標Y坐標
> 455 And 鼠標Y坐標
< 478 Then地圖編輯器界面按鈕按下標志_保存地圖
= TrueEnd IfEnd IfIf 鼠標X坐標
= 318 Or 鼠標X坐標
> 318 And 鼠標X坐標
< 395 ThenIf 鼠標Y坐標
= 455 Or 鼠標Y坐標
> 455 And 鼠標Y坐標
< 478 Then地圖編輯器界面按鈕按下標志_清空地圖
= TrueEnd IfEnd IfIf 鼠標X坐標
= 34 Or 鼠標X坐標
> 34 And 鼠標X坐標
< 115 ThenIf 鼠標Y坐標
= 455 Or 鼠標Y坐標
> 455 And 鼠標Y坐標
< 480 ThenIf 地圖編輯器界面按鈕按下標志_載入地圖
= False Then地圖編輯器界面按鈕按下標志_載入地圖
= TrueElse地圖編輯器界面按鈕按下標志_載入地圖
= False
End IfEnd IfEnd IfIf 鼠標X坐標
= 543 Or 鼠標X坐標
> 543 And 鼠標X坐標
< 613 ThenIf 鼠標Y坐標
= 462 Or 鼠標Y坐標
> 462 And 鼠標Y坐標
< 484 ThenIf MsgBox
("你是否放棄地圖編輯,返回主菜單?如果沒有保存地圖,請點否!"
, vbQuestion
Or vbYesNo
, Me.Caption
) = vbYes
ThenRunning
= 9: 讀檔標志
= False: 判斷running狀態_初始化
: BackPic.LoadGraph "
image\魔塔背景\魔塔背景
1.jpg"
, xgBLACK
End If
End IfEnd IfDim 地圖編輯器界面_鼠標選擇范圍X坐標
As SingleDim 地圖編輯器界面_鼠標選擇范圍y坐標
As SingleDim j
As Integer地圖編輯器界面_鼠標選擇范圍X坐標
= 474地圖編輯器界面_鼠標選擇范圍y坐標
= 102For j
= 0 To 8If 鼠標X坐標
= 地圖編輯器界面_鼠標選擇范圍X坐標
+ j
* 32 Or 鼠標X坐標
> 地圖編輯器界面_鼠標選擇范圍X坐標
+ j
* 32 And 鼠標X坐標
< 地圖編輯器界面_鼠標選擇范圍X坐標
+ j
* 32 + 26 ThenIf 鼠標Y坐標
= 地圖編輯器界面_鼠標選擇范圍y坐標
Or 鼠標Y坐標
> 地圖編輯器界面_鼠標選擇范圍y坐標
And 鼠標Y坐標
< 地圖編輯器界面_鼠標選擇范圍y坐標
+ 32 Then地圖編輯器界面_選擇圖形編號
= j
+ 1End If
End IfNext
地圖編輯器界面_鼠標選擇范圍X坐標
= 474地圖編輯器界面_鼠標選擇范圍y坐標
= 146
For j
= 0 To 8If 鼠標X坐標
= 地圖編輯器界面_鼠標選擇范圍X坐標
+ j
* 32 Or 鼠標X坐標
> 地圖編輯器界面_鼠標選擇范圍X坐標
+ j
* 32 And 鼠標X坐標
< 地圖編輯器界面_鼠標選擇范圍X坐標
+ j
* 32 + 26 ThenIf 鼠標Y坐標
= 地圖編輯器界面_鼠標選擇范圍y坐標
Or 鼠標Y坐標
> 地圖編輯器界面_鼠標選擇范圍y坐標
And 鼠標Y坐標
< 地圖編輯器界面_鼠標選擇范圍y坐標
+ 32 Then地圖編輯器界面_選擇圖形編號
= j
+ 1 + 9End If
End IfNext地圖編輯器界面_鼠標選擇范圍X坐標
= 474地圖編輯器界面_鼠標選擇范圍y坐標
= 185
For j
= 0 To 8If 鼠標X坐標
= 地圖編輯器界面_鼠標選擇范圍X坐標
+ j
* 32 Or 鼠標X坐標
> 地圖編輯器界面_鼠標選擇范圍X坐標
+ j
* 32 And 鼠標X坐標
< 地圖編輯器界面_鼠標選擇范圍X坐標
+ j
* 32 + 26 ThenIf 鼠標Y坐標
= 地圖編輯器界面_鼠標選擇范圍y坐標
Or 鼠標Y坐標
> 地圖編輯器界面_鼠標選擇范圍y坐標
And 鼠標Y坐標
< 地圖編輯器界面_鼠標選擇范圍y坐標
+ 32 Then地圖編輯器界面_選擇圖形編號
= j
+ 1 + 18If 地圖編輯器界面按鈕按下標志
1 = True And 地圖編輯器界面_選擇圖形編號
> 25 Then 地圖編輯器界面_選擇圖形編號
= 25: Exit ForEnd If
End IfNext
地圖編輯器界面_鼠標選擇范圍X坐標
= 474地圖編輯器界面_鼠標選擇范圍y坐標
= 225
For j
= 0 To 6If 鼠標X坐標
= 地圖編輯器界面_鼠標選擇范圍X坐標
+ j
* 32 Or 鼠標X坐標
> 地圖編輯器界面_鼠標選擇范圍X坐標
+ j
* 32 And 鼠標X坐標
< 地圖編輯器界面_鼠標選擇范圍X坐標
+ j
* 32 + 26 ThenIf 鼠標Y坐標
= 地圖編輯器界面_鼠標選擇范圍y坐標
Or 鼠標Y坐標
> 地圖編輯器界面_鼠標選擇范圍y坐標
And 鼠標Y坐標
< 地圖編輯器界面_鼠標選擇范圍y坐標
+ 32 Then地圖編輯器界面_選擇圖形編號
= j
+ 1 + 27If 地圖編輯器界面按鈕按下標志
2 = True And 地圖編輯器界面_選擇圖形編號
> 28 Then 地圖編輯器界面_選擇圖形編號
= 28: Exit ForEnd If
End IfNext
Dim tempX
As Integer Dim m
() As StringDim k
As IntegerFor k
= 1 To 11地圖編輯器界面_鼠標選擇范圍X坐標
= 32地圖編輯器界面_鼠標選擇范圍y坐標
= 32 * k
For j
= 0 To 10If 鼠標X坐標
= 地圖編輯器界面_鼠標選擇范圍X坐標
+ j
* 32 Or 鼠標X坐標
> 地圖編輯器界面_鼠標選擇范圍X坐標
+ j
* 32 And 鼠標X坐標
< 地圖編輯器界面_鼠標選擇范圍X坐標
+ j
* 32 + 32 ThenIf 鼠標Y坐標
= 地圖編輯器界面_鼠標選擇范圍y坐標
Or 鼠標Y坐標
> 地圖編輯器界面_鼠標選擇范圍y坐標
And 鼠標Y坐標
< 地圖編輯器界面_鼠標選擇范圍y坐標
+ 32 Thenm
= Split
(地圖數據
(k
), ",")tempX
= 鼠標X坐標
/ 32If tempX
> 11 Then tempX
= 11m
(tempX
) = 地圖編輯器界面_選擇圖形編號
If 地圖編輯器界面按鈕按下標志
2 = True Thenm
(tempX
) = m
(tempX
) + 29
End IfIf 地圖編輯器界面按鈕按下標志
3 = True Thenm
(tempX
) = m
(tempX
) + 79
End If地圖數據
(k
) = m
(0) & "," & m
(1) & "," & m
(2) & "," & m
(3) & "," & m
(4) & "," & m
(5) & "," & m
(6) & "," & m
(7) & "," & m
(8) & "," & m
(9) & "," & m
(10) & "," & m
(11) & "," & m
(12)寫臨時地圖數據
(0)地圖編輯器界面_臨時地圖標志
= TrueEnd If
End IfNext j
Next k
Dim 偏移量X
As Integer Dim 偏移量Y
As Integer
For j
= 1 To 地圖最大層號
If j
< 30 Then偏移量X
= 10 + 20 * j
: 偏移量Y
= 503
Else
偏移量X
= 10 + 20 * (j
- 29): 偏移量Y
= 530End IfIf 鼠標X坐標
= 偏移量X
Or 鼠標X坐標
> 偏移量X
And 鼠標X坐標
< 偏移量X
+ 15 ThenIf 鼠標Y坐標
= 偏移量Y
Or 鼠標Y坐標
> 偏移量Y
And 鼠標Y坐標
< 偏移量Y
+ 15 Then當前正在編輯的地圖編號
= j
: 地圖編輯器界面_修正地圖
= TrueIf 地圖編輯器界面_修正地圖
= True And 當前正在編輯的地圖編號
> 0 And 地圖編輯器界面按鈕按下標志_載入地圖
= True Then讀取地圖數據
(當前正在編輯的地圖編號
)寫臨時地圖數據
(0)End IfExit ForEnd If
End IfNext j
End If
End Sub
本段代碼雖然長,但結構非常清晰,當然寫 也很隨意,但還是很好懂的,在此不多說。
總結
以上是生活随笔為你收集整理的魔塔之拯救白娘子~我的第一个VB6+DX8做的小游戏源码~11地图编辑器-鼠标点击的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。