作者deo2000 (800IM)
看板C_Sharp
标题Re: [问题] 关於一个逻辑
时间Wed Dec 25 23:31:11 2013
※ 引述《ymzk (ymzk = false;)》之铭言:
: 请问如果我有一个表单内有两个按钮 大小位置都不定
: 按钮会乱跑
: 如何判断这两个按钮有现在有没有撞到?(边碰到也算 或两个叠在一起)
设原点在左上角
按钮1的4个座标
A B
C D
按钮2的4个座标
a b
c d
bool bCross=false;
//检测a点是否与按钮1重叠?
if(( a.x >= A.x ) && (a.x <= D.x ) && (a.y >= A.y) && (a.y <= D.y))
bCross=ture;
else if(...略)//检测b点是否与按钮1重叠?
bCross=ture;
else if(...略)//检测c点是否与按钮1重叠?
bCross=ture;
else if(...略)//检测d点是否与按钮1重叠?
bCross=ture;
else
bCross=false;//无重叠
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.122.165.185
糟糕! 自己写完後发现未考虑到十字交叉情况,不过就当作抛砖引玉好了
※ 编辑: deo2000 来自: 140.122.165.185 (12/25 23:33)
1F:推 ymzk:嗯 3Q大大 12/26 20:38