0
我在我的比賽中有一個想法,有3層地圖,第一個是地面,第二個是道路/草地/等等,第三個是無法通過的物體,如牆壁/建築/湖泊/河流/棵。我擁有它,所以玩家在屏幕中間居中,而地圖的各層以與玩家想要去的相反的方向移動。我認爲如果playerModel重疊在impassableLayer上繪製的東西上,那麼我會擁有不同的圖層,然後playerModel會向後移動。但是,由於我是xna的新手,我不知道如何讓遊戲認識到playerModel將無法通過的層上的不可通過的對象重疊。顯然,無法訪問的層只包含對象,並且在沒有對象的地方是空的。所以我不能說:Xna保持地圖重疊部分的球員
if (playerModel.X > impassableLayer.X)
{
impassableLayer.X++;
}
因爲這將永遠是真的。
有沒有辦法判斷一個對象是否與一個圖層重疊?
那麼這是否意味着我將不得不實例化每個Building/lake/tree並將它們放置在具有單獨座標的地圖上?看起來好像它會花費很多時間和記憶,因爲如果我在地圖上有10,000棵樹,遊戲必須首先創建10,000棵樹中的每棵,然後將它們放置在地圖上,對吧? – user2375782 2013-05-12 22:06:33
是的,但是,在計算中,10,000不是很多。我的遊戲中有超過2000萬個物體。 – Cyral 2013-05-12 22:54:28
我看到了,看着這個像素碰撞的東西到目前爲止,雖然它看起來像它的說法,如果「物體」正在觸摸透明像素它不算作一個碰撞的權利?所以我不能繼續使用這種方法,因爲圖層上唯一不透明的像素是對象的那些像素? – user2375782 2013-05-13 00:19:16