2015-08-22 31 views
-4

我需要幫助瞭解if語句的最佳方式,以檢查您的鼠標是否在您創建的起點的上,下,左或右側。如果你通過確定鼠標是在起點的左邊還是右邊來啓動if語句,那麼你總是被認爲是起點的左邊或右邊,因爲上下是幾乎像素條,因爲if語句的順序被創建。C#如果語句點關係

什麼是確定鼠標從起點位置的最佳方法?

+0

我不明白第二句話。你嘗試了什麼,這有什麼問題? – Andrew

回答

-1
bool isLeft, isRight, isUp, isDown; 

if (startingPoint.x < mouse.position) 
{ 
//left 
    isLeft = true; 
} 
if (startingPoint.x > mouse.position) 
{ 
//right 
    isRight = true; 
} 
if (startingPoint.y < mouse.position) 
{ 
//down 
     isDown = true; 
} 
if (startingPoint.y > mouse.position) 
{ 
//up 
    isUp = true; 
} 

然後你可以使用的bool這樣

if (isRight && isUp) 
{ 
//upper right 
} 

也許這樣的事情給鼠標一點緩衝區域:

if (startingPoint < mouse.position - 1) 
{ 
//left with buffer of one 
} 

有幾種方法來實現這一目標。這並不困難,這就是爲什麼人們低估了你的問題。

+0

是不是相反?如果'mouse.position> startingPoint.x',那麼鼠標是正確的,而不是左邊。這同樣適用於上/下。我認爲你在邏輯中交換了鼠標位置和起點。 在附註中,如果第一個和第三個條件都爲真,則不需要檢查第二個和第四個條件;我會在那裏添加一個以避免這種情況。 – Andrew

+0

我是從出發點的看法出發的,但是,你看起來似乎很重要。對困惑感到抱歉。 –