我需要幫助瞭解if語句的最佳方式,以檢查您的鼠標是否在您創建的起點的上,下,左或右側。如果你通過確定鼠標是在起點的左邊還是右邊來啓動if語句,那麼你總是被認爲是起點的左邊或右邊,因爲上下是幾乎像素條,因爲if語句的順序被創建。C#如果語句點關係
什麼是確定鼠標從起點位置的最佳方法?
我需要幫助瞭解if語句的最佳方式,以檢查您的鼠標是否在您創建的起點的上,下,左或右側。如果你通過確定鼠標是在起點的左邊還是右邊來啓動if語句,那麼你總是被認爲是起點的左邊或右邊,因爲上下是幾乎像素條,因爲if語句的順序被創建。C#如果語句點關係
什麼是確定鼠標從起點位置的最佳方法?
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
}
有幾種方法來實現這一目標。這並不困難,這就是爲什麼人們低估了你的問題。
是不是相反?如果'mouse.position> startingPoint.x',那麼鼠標是正確的,而不是左邊。這同樣適用於上/下。我認爲你在邏輯中交換了鼠標位置和起點。 在附註中,如果第一個和第三個條件都爲真,則不需要檢查第二個和第四個條件;我會在那裏添加一個以避免這種情況。 – Andrew
我是從出發點的看法出發的,但是,你看起來似乎很重要。對困惑感到抱歉。 –
我不明白第二句話。你嘗試了什麼,這有什麼問題? – Andrew