2013-10-05 26 views
-2
if(drawRectangle.Right > drawRectangle0.Left) 
{ 
    drawRectangle0.Y = 100;  
} 

這只是一個測試,看看我的代碼是否會檢測到它,它確實,但不是我想要的方式。看到,當我沒有接近它時,無論如何它都會移動,我希望它在檢測到與drawRectangle(玩家Rectangle)發生碰撞時移動,以便玩家可以再次收集。C#如何檢測與其他Texture2D的碰撞

另一方面,如何讓我的Texture2D在他們周圍沒有白色矩形的情況下出現?我如何讓它看不見?

在此先感謝。

回答

0

您可以測試與Rectangle.Intersects(drawRectangle, drawRectangle0);

Rectangle S之間的重疊,我認爲你會需要但表現出更多的代碼,因爲它是很難從摘要中看到的問題。

你是什麼意思由你的紋理白色矩形?在Windows中查看時是否有白色矩形(不透明?)?

0

如果圍繞精靈的「白色矩形」是原始紋理的一部分,則可能需要告訴XNA不要繪製該顏色並使其透明。您必須在內容處理器屬性中將品紅色(255,0,255)中的顏色密鑰顏色更改爲白色(255,255,255),請參閱here

通常最好在Sprite中使用Magenta作爲透明顏色,因爲它是XNA中的默認顏色。或者更好的是,使用像Photoshop或Paint.net這樣的程序,並使用alpha通道使其透明。

+0

噢,謝謝,非常感謝 – user2714040

+0

如果還有別的東西你不明白,只需要問:) – pinckerman