魔塔之拯救白娘子 完整工程下载地址:
《魔塔之拯救白娘子》~11地图编辑器-地图编辑界面鼠标点击判断:
鼠标点击判断:
①点击的对象是卡通图片切换:完成对3种类型的卡通切换并显示
②点击的对象是某个卡通图片:获得该开通的编号,显示相应的信息,比如怪物属性
③点击的是地图界面:根据②的在地图界面绘制②的卡通并显示
④其他选择,比如退出编辑,清空地图等等。

Sub 地图编辑界面鼠标点击判断()
If Running <> 8 Then Exit Sub
If Xi.MouseKey(xgL_BUTTON) Then鼠标X坐标 = Xi.MouseX鼠标Y坐标 = Xi.MouseYIf 鼠标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 If'以上判断是否按下编辑器界面的3个选项按钮'以下判断是否按下清空地图,保存地图和载入地图If 鼠标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 If'退出地图编辑器,返回游戏第一页If 鼠标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", xgBLACKEnd If
End IfEnd If'以下判断是否选择了某个土块'检测第1行1-9Dim 地图编辑器界面_鼠标选择范围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
'检测第2行10-19地图编辑器界面_鼠标选择范围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'检测第3行20-29地图编辑器界面_鼠标选择范围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'检测第4行30-39
地图编辑器界面_鼠标选择范围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''检测第5行40-49
'地图编辑器界面_鼠标选择范围X坐标 = 474
' 地图编辑器界面_鼠标选择范围y坐标 = 225
''
' For j = 0 To 6
'
' If 鼠标X坐标 = 地图编辑器界面_鼠标选择范围X坐标 + j * 32 Or 鼠标X坐标 > 地图编辑器界面_鼠标选择范围X坐标 + j * 32 And 鼠标X坐标 < 地图编辑器界面_鼠标选择范围X坐标 + j * 32 + 26 Then
'
'   If 鼠标Y坐标 = 地图编辑器界面_鼠标选择范围y坐标 Or 鼠标Y坐标 > 地图编辑器界面_鼠标选择范围y坐标 And 鼠标Y坐标 < 地图编辑器界面_鼠标选择范围y坐标 + 32 Then
'
'                 地图编辑器界面_选择图形编号 = j + 1 + 27
'
'
'End If
'End If
'
' Next'以上判断是否选择绘图图形快'以下判断选择了图形快以后进行绘图工作
' 当前K=1当前J=0当前图片编号:0图片  X坐标:0图片Y坐标:32
'当前K=1当前J=1当前图片编号:1图片   X坐标:32图片Y坐标:32
'当前K=1当前J=2当前图片编号:1图片   X坐标:64图片Y坐标:32
'当前K=1当前J=3当前图片编号:1图片   X坐标:96图片Y坐标:32
'当前K=1当前J=4当前图片编号:1图片   X坐标:128图片Y坐标:32
'当前K=1当前J=5当前图片编号:1图片   X坐标:160图片Y坐标:32
'当前K=1当前J=6当前图片编号:1图片   X坐标:192图片Y坐标:32
'当前K=1当前J=7当前图片编号:1图片   X坐标:224图片Y坐标:32
'当前K=1当前J=8当前图片编号:1图片   X坐标:256图片Y坐标:32
'当前K=1当前J=9当前图片编号:1图片   X坐标:288图片Y坐标:32
'当前K=1当前J=10当前图片编号:1图片  X坐标:320图片Y坐标:32
'当前K=1当前J=11当前图片编号:1图片  X坐标:352图片Y坐标:32
'当前K=1当前J=12当前图片编号:0图片  X坐标:384图片Y坐标:32''1-29为基本道具;'30-79为道具 ;'80-99为怪物Dim tempX As Integer '地图X边界判断'Dim tempY As Integer '地图y边界判断Dim m() As StringDim k As IntegerFor k = 1 To 11'判断第一行地图编辑器界面_鼠标选择范围X坐标 = 32地图编辑器界面_鼠标选择范围y坐标 = 32 * kFor 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 Then'地图编辑器界面_选择图形编号 = j + 1 + 27' 地图编辑器界面_图形说明'地图数据(1) = "0,1,1,1,1,1,1,1,1,1,1,1,0"m = Split(地图数据(k), ",")tempX = 鼠标X坐标 / 32If tempX > 11 Then tempX = 11m(tempX) = 地图编辑器界面_选择图形编号If 地图编辑器界面按钮按下标志2 = True Thenm(tempX) = m(tempX) + 29
'                地图编辑器界面_选择图形编号 = 地图编辑器界面_选择图形编号 + 29End IfIf 地图编辑器界面按钮按下标志3 = True Thenm(tempX) = m(tempX) + 79
'                地图编辑器界面_选择图形编号 = 地图编辑器界面_选择图形编号 + 79End 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 jNext k'以下处理载入地图操作
Dim 偏移量X As Integer '地图X边界判断Dim 偏移量Y As Integer '地图y边界判断'判断第一行32-43,503-511
' 地图编辑器界面_鼠标选择范围X坐标 = 32
' 地图编辑器界面_鼠标选择范围y坐标 = 503For 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'Next k
End If
End Sub

本段代码虽然长,但结构非常清晰,当然写 也很随意,但还是很好懂的,在此不多说。

魔塔之拯救白娘子~我的第一个VB6+DX8做的小游戏源码~11地图编辑器-鼠标点击相关推荐

  1. 魔塔之拯救白娘子~我的第一个VB6+DX8做的小游戏源码~8地图编辑器-处理流程

    魔塔之拯救白娘子 完整工程下载地址: <魔塔之拯救白娘子>处理流程: ①在主游戏窗口里添加一个timer控件,名称为:timerDraw 作用:根据running状态绘制不同的背景 Ena ...

  2. 魔塔之拯救白娘子~我的第一个VB6+DX8做的小游戏源码~6地图编辑器-初始化

    魔塔之拯救白娘子 完整工程下载地址: 从今天开始我将写一下<魔塔之拯救白娘子>的游戏地图编辑器,俗话说,事半功倍.把地图编辑器搞好,基本一个游戏就写好了三分之一了.可以说,魔塔的地图是相对 ...

  3. 魔塔之拯救白娘子~我的第一个VB6+DX8做的小游戏源码~9地图编辑器-卡通选择

    魔塔之拯救白娘子 完整工程下载地址: <魔塔之拯救白娘子>地图编辑器:流程控制-卡通选择 本课主要讲一下,卡通图片的选择.如下图所示. 卡通图片由3种: ①基础类:25个,主要是路面.NP ...

  4. 魔塔之拯救白娘子~我的第一个VB6+DX8做的小游戏源码~7地图编辑器-地图格式

    魔塔之拯救白娘子 完整工程下载地址: <魔塔之拯救白娘子>地图编辑器2:确定地图格式 魔塔这个游戏很经典,网上大把源码以及地图之类的,但是DX8做的比较少,源码也没有,因此,我决定自己写一 ...

  5. 魔塔之拯救白娘子~我的第一个VB6+DX8做的小游戏源码~10地图编辑器-卡通绘制

    魔塔之拯救白娘子 完整工程下载地址: <魔塔之拯救白娘子>地图编辑器-背景绘制:这个子程序绘制的背景是静态的,如果绘制动态的可参考完整工程里的 动态背景Draw 子程序: Sub 背景Dr ...

  6. 魔塔之拯救白娘子~我的第一个VB6+DX8做的小游戏源码~20开始游戏-对话处理

    魔塔之拯救白娘子 完整工程下载地址: <魔塔之拯救白娘子>流程分析6:对话处理 游戏的对话处理比较简单,仅仅是根据游戏流程提供简单的对话系统,没有涉及复杂的东西.下边是设计的窗体: Opt ...

  7. 魔塔之拯救白娘子~我的第一个VB6+DX8做的小游戏源码~1游戏引擎

    魔塔之拯救白娘子 完整工程下载地址: 前边学习了DX8的相关知识后,想做一个游戏试试看.这里我选取了魔塔这个比较大众化的小游戏.主要是魔塔的游戏画面比较固定,也很简单,似乎很容易做.下边就开始做吧. ...

  8. 魔塔之拯救白娘子~我的第一个VB6+DX8做的小游戏源码~24开始游戏-屏幕截图

    魔塔之拯救白娘子 完整工程下载地址: 魔塔之拯救白娘子>流程分析8:屏幕截图和通用申明 有网友问我主窗口设计界面是什么样子?下图就是:frmMain.frm 设计界面非常清爽,只有一个tiemr ...

  9. 魔塔之拯救白娘子~我的第一个VB6+DX8做的小游戏源码~18开始游戏-物体碰撞检测

    魔塔之拯救白娘子 完整工程下载地址: <魔塔之拯救白娘子>流程分析4:物体碰撞检测 处理方式分2步,第一步是游戏时主角显示处理:当主角移动时需要擦除上一个坐标位的主角,然后在新位置上放置主 ...

最新文章

  1. android运动轨迹rungps_android运动轨迹rungps_Android使用百度地图API实现GPS步行轨迹...
  2. Storyboard初体验
  3. 这应该是目前最快速有效的ASP.NET Core学习方式(视频)
  4. Cocoon概念性介绍
  5. Atititi 计算机系 教材 目录 1. 硬件类 2 1.1. 《微机系统与接口技术》 2 1.2. 《计算机组成与系统结构(第2版)》 2 2. Atitit 操作系统原理 操作系统原理(cpu
  6. 媒体查询(黑马笔记)-移动端布局rem
  7. 免费画图软件推荐 - draw.io
  8. Testbench编写
  9. ISOIEC27000标准族的介绍与进展
  10. ES6笔记上(深入浅出ES6—阮一峰)
  11. Ubuntu: 使用U盘拷贝文件
  12. 十款免费数据恢复软件
  13. BT下载面临历史性转折
  14. win10安装Docker Desktop完成之后打开一直显示Docker failed to initialize
  15. 电脑计算机为什么总自动开启,电脑总是自动重启怎么办?这个问题不能忽视
  16. 如果使用Vue3.0实现一个 Modal,你会怎么进行设计?
  17. 性能测试能力提升-长连接、短连接、连接池
  18. 用robot framework + python实现http接口自动化测试框架
  19. python数据挖掘需要学的内容
  20. 计算机基础中如何属性隐藏,-XP系统如何显示隐藏的文件夹

热门文章

  1. 企业的知识文档管理系统需要注重什么?安全和共享能力很重要!
  2. 数控机床加工时,刀具径向跳动,应该调哪里解决问题?
  3. Android 避免主线程执行网络请求之Activity/Fragment 结束后处理异步回调
  4. 数据结构(二叉树、二叉查找树、平衡二叉树、红黑树)
  5. gsea结果分析图怎么看_GSEA富集分析图
  6. service和doXX方法区别、Http请求头案例、获取请求的传递参数
  7. Object类型的数据之间比较大小
  8. 5000月薪与50000月薪的Linux运维的区别
  9. react 动态修改路由_react.js - React 如何监听路由变化重新渲染组件
  10. 爱客CRM-如何利用CRM系统管理销售团队,提升销售业绩