本帖最后由 大灰狼1976 于 2021-4-27 20:19 编辑
【探索的快乐】 - 有限条件下解决控件拖曳问题的思路历程
追加说明:11楼重大更新,基本完结。
由于某些原因,很久没上线了,有点写一些东西的想法,以对我的不敬业行为进行反省。
注:此贴并非仅在本论坛发表,如有违反论坛公约请及时提醒,我会做妥善处理。
前言 这个虽然不重要,但是仍有必要事先说明一下,我喜欢尽可能使用常规方法解决我遇到的所有问题,理由如下: 1、对API、钩子、PostMessage、SendMessage之类的应用完全不懂;
2、尽量减少对系统环境的依赖性。
主题
我出于兴趣编写了一个自己喜欢的小游戏,基本功能还算成功(见本楼附件),但实际运用中发现一些不便之处,当然所参考的游戏本身也有同样问题,但它是SFC平台的游戏,所以貌似也无法使其变得更便利。
为了使各位直观理解我所说的便利性,必须对游戏的基本规则作简单说明如下:
有一个格子方阵(类似扫雷),需要遵循某种规则将其中部分格子反色涂黑(通过鼠标点击),直到满足特定条件后判定成功。现状需要反色的格子很多情况下都是成行、成列甚至成片排列的,鼠标逐个点击不仅效率低下,甚至容易产生厌烦(如果你测试了此楼的附件,想必能感同身受),所以我考虑加入鼠标拖动实现连续点击功能(我简称为拖曳),可以成行、成列甚至成片的批量处理格子,毫无疑问首先想到的就是利用控件的MOUSEMOVE事件,在经过几次想当然和碰壁后,我才意识到问题没那么简单,并开始了我的钻牛角尖之旅。
注:本楼附件为改善前的完整游戏文件,需要将压缩包里两个文件解压到同一路径下,然后打开EXCEL运行;
2楼开始会陆续将各个阶段的尝试和成果以及相应的示例文件进行发布。
11楼重大更新,基本完结。
|