易语言绘制2D方框(植物大战僵尸版)
1.准备工具
植物大战僵尸游戏
CE
易语言IDE
2.思路解析
- 对于2D方框绘制,首先要找到存放僵尸坐标的地址,那么如何找到存放僵尸坐标的地址呢,首先从一个游戏开发角度来说,一个人物或者事物的相关数据大多数会放到一块,也就是各个属性相关的地址是相邻的,由于一个游戏我们不知道坐标是以何为轴,也不知道从哪里起始和终止的,因此如果想要找到坐标地址,可以换种角度来找,那就是找到僵尸血量的地址,那么坐标应该就会在内存附近的位置,为什么要找血量,而不找其他的僵尸属性呢,因为我知道普通僵尸的起始血量为270,网上相关数据随便搜搜就可以找得到,直接从已知的信息下手,更能方便的解决问题。
3.找地址以及CT框架,易语言代码的编写
CE附加进程
游戏内出现普通僵尸后在CE搜索270数值后,在游戏内在种植一棵豌豆射手攻击一次僵尸,已知豌豆攻击一次伤害20,所以下次在此搜索的数值为250,将该地址存到下方。
- 在下方地址出右键打开**
浏览相关内存区域
**,在内存区域右键, **显示类型
**处,更改为单浮点数,因为存放血量坐标这些数值在该游戏中是以浮点数形式存放的,最后上下查看,找出可能为坐标的数值。
可以让僵尸移动,观察该数值的变化,并确定该地址
4. 将该地址添加到地址表中,在表中的地址右键查看找出是什么改写了改地址
,在让僵尸移动一下,会自动显示修改坐标数值的汇编指令,点击该指令,显示反汇编程序
。
5. 在工具
处点击自动汇编
,模板
处点击CT表框架代码
,在点击代码注入
,这个操作是写该地址的CT脚本。
6. 为该地址申请内存。
7. 文件里点击分配到当前的CT表
,然后执行该脚本,观察反汇编程序框的变化。
这步操作其实可以理解为将坐标地址中指令的esi指向申请的内存的地址中去,然后执行下一个指令,准确来说是将esi赋给申请的内存地址
- 编写易语言代码,这里只展示该功能的主要代码。具体释义自行理解,这里不在解释,如想具体了解,可联系我。
- 保持脚本执行,然后在CT表中手动添加地址。然后让僵尸移动距离,观察该地址中的数值发生变化。
- 将该地址写入到代码中的
基址1
的位置。
- 运行易语言代码,即可看到2D方框绘制。
4.结束了,很简单的
评论