當我的x和y座標等於鼠標座標時,如何在繪製NSMakeRect時作出界限。我不希望我的NSRect要繪製過去的某coordiante如何在NSRect中使用NSRange或NSMax X
NSMakeRect(mouseLoc.x, mouseLoc.y, 50, 50);
如何建立一個範圍或最大x和y的值,如果讓我怎麼將其納入我的MakeRect?
感謝
當我的x和y座標等於鼠標座標時,如何在繪製NSMakeRect時作出界限。我不希望我的NSRect要繪製過去的某coordiante如何在NSRect中使用NSRange或NSMax X
NSMakeRect(mouseLoc.x, mouseLoc.y, 50, 50);
如何建立一個範圍或最大x和y的值,如果讓我怎麼將其納入我的MakeRect?
感謝
如果你正在構建64位,然後NSRect
是typedef
版是CGRect
。你可以做到以下幾點:
CGRect oldRect; // This is the rectangle's previous position saved somewhere
CGRect newRect = NSMakeRect (mouseLoc.x, mouseLoc.y, 50, 50);
if (CGRectContainsRect (constrainingRect, newRect))
{
oldRect = newRect;
}
所以你構建新的矩形,看其是否包含在較大的矩形邊框,如果是這樣,取代舊的與新的。否則,再次使用舊的。
爲什麼不使用'NSContainsRect()'? – 2012-04-05 06:49:23
因爲我忘了它存在嗎? :-)這也應該起作用。 – user1118321 2012-04-05 22:49:18
你能更詳細地描述你想要做什麼嗎?你想要一個矩形跟隨鼠標,但要被限制在一個更大的矩形內?或者是其他東西? – user1118321 2012-04-05 05:39:04
是的!我可以只做減法,但我更喜歡從較大的矩形設置邊界 – 2012-04-05 05:42:17