Rectangle对象在游戏开发中的应用2

来源:互联网 发布:java中写htnl 编辑:程序博客网 时间:2024/06/15 13:54

上一次发了Rectangle对象的应用,觉得有必要补充一下,希望朋友们活学活用

应用三:对两个并不存在的对象进行碰撞检测


有的时候你想进行碰撞的两个物体并不存在,那么我们就无法通过正常的hitTest手段检测两个物体是否发生了碰撞。这个时候通过Rectangle对象无疑是最方便的。


下面举出两个例子来说明一下这种应用:





首先说明上图的假设并不多见,但我只是想通过这个不怎么恰当的例子说明Rectangle的一种应用。

上图如果我们只想知道“葡萄MM“是否走到了矩形A的区域,而不管其他的。这个时候我们的Rectangle又一次发挥了作用。

因为这个建筑和mm的位置都是针对与
地图坐标系的,所以我们可以针对于建筑左顶点的偏移量来确定矩形A的坐标和宽度高度

同样我们可以通过葡萄mm的左顶点和矩形B相对于这一点的偏移量来矩形B的坐标和大小。


假设建筑的左顶点坐标为:2000,1200, 矩形相对于左顶点的偏移量为50,50,大小为80,30

那么我们可以很快得到矩形A初始值:recA=new (2000+50,1200+30,80,30)

同理我们可以得到矩形B的区域了,有了这两个矩形那么我们只要调用一下任意一个矩形的相交判断方法就行了recA.intersects(recB).