一天一贴,进来骂的先管好你的功利心,爷不吃这套。
在360玩这个游戏不少日子了,不过某些公司的套钱运营真是让人头痛,牟上你了!那么本人本着技术交流和防外挂的角度来发个帖子。闲话少提,开源!
说说思路
不读内存只读屏幕,里面的风力、角度、地图、人物位置都可以识别。而后利用物理引擎模拟其参数即可求算出需要多少力度能够击中对手。
第一部分:先讲物理引擎,图像识别其实太简单了。
作为一个游戏来讲,使用较好的物理引擎来模拟真实世界是必要的,而免费的物理引擎中也有很多做得很好的。就以入门级比较适合的BOX2D引擎说,这个引擎里面的名空间比较少功能也完全可以胜任了。有兴趣的可以参照其自带的说明,其实只要你稍微熟悉一点C语言把他的代码改成VB.NET就很简单。
简要的说:
1、世界:就是说你要模拟的东东都在多大的范围内,当然世界是一个类,还包括着各种各样的参数,而世界里面的物体就是一个属性。
2、世界参数:比较重要的就是重力和空气阻尼等,这些只需要我们有几条游戏的抛物曲线即可模拟到非常精准。当然,还有一些像步长参数等,看了代码你就明白了。
3、物体:包括静态物体、动态物体、AABB等,实际上只需要了解动态物体和AABB即可,因为我们要“试探”到底多少力度会使炮弹进入到AABB里面。
基本思路就是确定自己的位置从而得到炮弹发射点位置,再确定对手位置设为AABB,每隔一定力度检测一次发射炮弹的结果是否使路径中某一点被包含在AABB内。好了,一步一步跟我来,首先创建一个世界:
Sub New()
'世界外边框,这里我们把它设置的足够大