正文

游戲數(shù)學(xué)(23)

精通C#游戲編程 作者:(英)斯庫勒


 

8.3.2  矩形

矩形的相交測(cè)試代碼不需要非常完善。我們需要的矩形只有按鈕,而按鈕總是會(huì)與軸對(duì)齊。這樣,代碼就比處理任意對(duì)齊的矩形時(shí)簡(jiǎn)單了很多。

如果點(diǎn)在矩形左邊的右側(cè),右邊的左側(cè),上邊的下側(cè),底邊的上側(cè),那么該點(diǎn)在矩形內(nèi)??梢圆扇∨c圓的示例相似的方法從視覺上顯示矩形與點(diǎn)的關(guān)系。

class RectangleIntersectionState : IGameObject

{

Input _input;

Rectangle _rectangle = new Rectangle(new Vector(0,0,0), new Vector

(200, 200,0));

public RectangleIntersectionState(Input input)

{

_input = input;

}

#region IGameObject Members

public void Update(double elapsedTime)

{

if (_rectangle.Intersects(_input.MousePosition))

{

_rectangle.Color = new Color(1, 0, 0, 1);

}

else

{

// If the circle's not intersected turn it back to white.

_rectangle.Color = new Color(1, 1, 1, 1);

}

}

public void Render()

{

_rectangle.Render();

}

#endregion

}


上一章目錄下一章

Copyright ? 讀書網(wǎng) ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號(hào) 鄂公網(wǎng)安備 42010302001612號(hào)