作者:topdog

本人成长于广海,本着全心支持广海发展,写了以下教程!!不能很好的表达要说的知识,也不知道能否教明白。请读者纠正,谢谢。

下文参考过同名贴子,部份语言表达完全相同。由于原文以C作解释,但现在外挂新人中用VB的稍多点。故以VB做解释。

参考贴地址:http://qun.51.com/sxsykj/topic.php?pid=2561

全局基址:它是所有地址的基础。

人物基址: 【全局基址】+某个偏移值1

人物各个属性地址:【人物基址】+某个偏移值1

技能基址: 【全局基址】+某个偏移值2

包裹基址: 【全局基址】+某个偏移值3

怪物基址: 【全局基址】+某个偏移值4

物品基址: 【全局基址】+某个偏移值5

也就是说,全局基址是一切的基础,而不同的其他各个基址是在它的基础上再次偏移。

为什么会有偏移呢?

关于为什么会有偏移一说,粗略解释一下...

现在的程序编写都是面向对象的,就是用类来封装对象的属性和方法...

我们假设游戏大致是由以下几个类构成的:

Type 游戏类

角色 as 角色类

怪物 as 怪物类

物品 as 物品类

End type

type 角色类

当前生命 as long

最大生命 as long

当前经验 as double

升级经验 as double

......

end type

type 怪物类

.....

怪物生命 as long

怪物X坐标 as float

怪物Y坐标 as float

End type

......

type 物品类

......

物品名称 as string

物品数量 as long

.......

end type

好,我们举列来说明什么是基址,一级基址,偏移。

通过以上定义的类,可以看出,程序一开始运行时,会定义游戏类

例:public Game as 游戏类

当执行这一句时,程序既将所需的内存地址分配出来了。假定它如下:

从上面,我们可以看到整个Game类的开始的地址是00500000,这个就是传说中的基址了。

再看一级基址:蓝色的都是一级基址了,分别是角色类,怪物类,物品类的首地址。

再看看偏移。

角色类的一级基址与基址的偏移量是0,也就是

角色基址=【全局基址】+偏移0=00500000+0=00500000

怪物类的一级基址与基址的偏移量是4,也就是

怪物基址=【全局基址】+偏移4=00500000+4=00500004

物品类的一级基址与基址的偏移量是8,也就是

物品基址=【全局基址】+偏移8=00500000+8=00500008

我们在看看一级基址

角色类基址=00500000

内存编号00500000处的值是0050000C

0050000C是内存编号00500000处的值,它表示的是一个内存编号,也就是指针,于是我们去内存编号0050000C处看看,桔黄色字体。

0050000C处的四字节值是:FF,等于十进制的255,这个就是角色类的第一个元素:当前生命的值了,紧接着下一个四字节的数字就是生命最大值, 再往下8字节就是当前经验,再下8字节是升级经验。

因此,角色生命的地址就是 [全局基址]+0]+0

角色生命最大值地址 [全局基址]+0]+4

经验      [全局基址]+0]+8

升经验验    [全局基址]+0]+10

同理,怪物基址=00500004

内存编号 00500004处的值是 00500024

看紫色字体,可知,分别是怪物生命,X坐标,Y坐标。

生命 [全局基址]+4]+0

X坐标[全局基址]+4]+4

Y坐标[全局基址]+4]+8

转载于:https://www.cnblogs.com/keyvip/archive/2011/10/17/2214730.html

01授人以鱼不如授人以渔●什么是基址相关推荐

  1. 授人以鱼不如授人以渔——CPU漏洞的Symantec解决之道

    授人以鱼不如授人以渔 --CPU漏洞的Symantec解决之道 前言 1月4日,国外安全研究机构公布了两组CPU漏洞,由于漏洞严重而且影响范围广泛,引起了全球的关注,成为2018开年以来第一个信息安全 ...

  2. 授人以鱼不如授人以渔,UCHome全面大解析培训【第二集】

    第一集:授人以鱼不如授人以渔,UCHome全面大解析培训活动开展一 继  授人以鱼不如授人以渔,UCHome全面大解析培训活动开展一之后,许多用户反应希望能从简单的开始,因此此系列活动进行相应的修改. ...

  3. c/c++ 实参、形参、值传递、地址传递的区别与关系 ---- 授人以鱼不如授人以渔

    函数的传递过程详解: 值传递:将原始对象的值传递给目标.程序会为目标开辟一个完全相同的内存空间,并将原始对象copy到目标中,之后对目标内存进行修改.所以目标的修改并不会影响原始对象,因为原始对象和目 ...

  4. (授人以鱼不如授人以渔)mysql-connector-java各种版本下载地址

    参考:https://blog.csdn.net/Milan__Kundera/article/details/81182757 mysql-connector-java下载地址: http://mv ...

  5. 授人以鱼不如授人以渔——和女儿学一起学成语

    女儿二年级了,前段时间背了<小学生必背古诗词75首>,采用几天一篇,然后滚动复习这种方式.磕磕绊绊也把一本古诗背了一遍,效果吗?是有的,但是不怎么明显,前面背,后面忘.当然这是规律,难免的 ...

  6. 寓言故事--授人以鱼不如授人以渔

    原文出处 原话为"授人以鱼,不如授之以渔". <淮南子·说林训>[1],原文说:"临河而羡鱼,不如归家织网." [1]   <汉书·董仲舒传& ...

  7. 产品实践:授人以鱼不如授人以渔

    授人以鱼不如授人以渔,说的就是比如钓鱼,虽说我需要的结果是鱼,但与其给我鱼,还不如告诉我捕鱼的方法,道理很正确的.那么对于实际的产品实践来说,又是怎么样的思考呢? 一般的中小企业运营最大的问题不仅仅是 ...

  8. 社科院与杜兰大学金融管理硕士---授人以鱼不如授人以渔,培养全新金融人才

    古人云:"授人以鱼,三餐之需:授人以渔,终身之用".都说职场入战场,一入职场就如履薄冰.走的每一步可能都影响着自己的职业生涯.在职场无烟的战争中,会慢慢发现差距一点点的被拉开了.金 ...

  9. 授人以鱼不如授人以渔,UCHome全面大解析培训活动【第三集】

    本节开始介绍UCH模板机制 首先告诉大家一个小技巧,就是如何让系统每次自动更新缓存,免去每次修改模板后都要到后台更新缓存操作,记住,在解决完所有问题后,要在改回来,否则会大幅度提高服务器负担. 打开s ...

最新文章

  1. iframe嵌套显示整个页面_【HTML】框架标签lt;iframegt;
  2. JavaScript中 for、for in、for of、forEach等使用总结
  3. SQLServer 一些有用的语句
  4. android 动态录音权限,Android如何判断手机是否有录音权限的工具类
  5. 【个人感悟】效率,天道酬勤
  6. HTML中confirm替换,Javascript直接Confirm()函数替换
  7. Catalyst 5.8: the Perl MVC Framework
  8. BPSK调制解调链路实现
  9. 最强的ubuntu8.04安装配置手册
  10. win10如何删除计算机用户,Win10系统如何删除账户?Win10系统删除账户的方法
  11. CoordConv:An intriguing failing of convolutional neural networks and the CoordConv solution
  12. flash游戏教程集锦~~
  13. Python3 数据库(MySQL/MongoDB/Redis)
  14. Ubuntu下图片转pdf和pdf合并
  15. 明朝历代皇帝 庙号、谥号、姓名、生卒年、在位时间、年号
  16. OpenGL ES之离屏渲染的帧缓冲区对象FBO的说明和使用
  17. dnsmasq 使用
  18. trafficserver 服务搭建
  19. Linux驱动面试题集锦
  20. java将jsp页面表格导出excel表格数据_简单的POI导出JSP页面表格数据到excel

热门文章

  1. 学习路线-后端-互联网-什么是网络托管?
  2. 车尾灯实战01-认识车尾灯测试项目及测试环境和常用工具
  3. 使用QGIS对CAD图进行描边以及路线图的绘制(3)
  4. 【保研经验】关于保研我们需要知道什么,准备什么?
  5. PAT甲级 1091 Acute Stroke
  6. 国培计算机应用培训心得,计算机应用技术国培研修心得体会
  7. postgresql判断字符串是否是数字
  8. 智慧用电:中华人民共和国公安部关于推进“智慧消防”建设的指导意见
  9. 问题记录:el-dialog对话框在关闭时不销毁dom元素的问题
  10. 0. Google机器学习(ML)课程---简介