幻想森林

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 3550|回复: 2

碰撞碰撞,矩形

[复制链接]

550

主题

9108

帖子

214748万

积分

超级版主

如同神一般的存在,腿神!拖后腿的神~~

Rank: 8Rank: 8

积分
2147483647
发表于 2012-9-8 09:51:17 | 显示全部楼层 |阅读模式
/*

RectX;去做碰撞的矩形左上顶点x坐标

RectY;去做碰撞的矩形左上顶点y坐标

RectWidth;去做碰撞的矩形的宽度

RectHeight;去做碰撞的矩形的高度

ObjX;被碰撞的矩形左上顶点的x坐标

ObjY;被碰撞的矩形左上顶点的y坐标

ObjWidth;被碰撞的矩形的宽度

ObjHeight;被碰撞的矩形的高度

*/

public boolean isCollide(int RectX,int RectY,int RectWidth,int RectHeight,int ObjX,int ObjY,int ObjWidth,int ObjHeight){

    if((RectX+RectWidth>ObjX)&&(RectX<ObjX+ObjWidth)&&
        (RectY+RectHeight>ObjY)&&(RectY<ObjY+ObjHeight))

        return true;//true表示两个矩形发生了碰撞

    return false;

}

这个东西,两个矩形必须是两个边平行x轴 两个边平行y轴的,那么任意矩形怎么办?
要是我想做个游戏,两个矩形碰撞,不都是任意的矩形么?用上面那个不好用啊。
我就是你们的神,庶民们,追随我吧!跟着我一起拖后腿!
回复

使用道具 举报

47

主题

989

帖子

6694

积分

管理员

爱干啥干啥!

Rank: 9Rank: 9Rank: 9

积分
6694
发表于 2012-9-8 21:41:45 | 显示全部楼层
和轴平行的叫AABB。( axis-aligned bounding box)
任意方向的叫OBB。(oriented bounding box)

你可以用OBB Collision作为关键字搜一下各种解决方案……

“放下屠刀,立地成佛” 故应先杀生,然后再成佛。

(\\_/) (-_-) ()+() this is bunny priest.
回复 支持 反对

使用道具 举报

550

主题

9108

帖子

214748万

积分

超级版主

如同神一般的存在,腿神!拖后腿的神~~

Rank: 8Rank: 8

积分
2147483647
 楼主| 发表于 2012-9-8 23:18:03 | 显示全部楼层
哦 哦 ,谢谢FDR大,好久没见哇
我就是你们的神,庶民们,追随我吧!跟着我一起拖后腿!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|幻想森林

GMT+8, 2021-11-28 07:35 , Processed in 0.017419 second(s), 20 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表