我以爲我可以在互聯網上找到一些搜索,但我發現的一切只是球從pong或其他任意問題之類的東西跳起來。我正在製作一個二維地牢爬行遊戲,當我殺死敵人並且他們放下戰利品時,我希望物品飛出去,就好像它剛剛被拋在空中並在單位上的隨機點上着陸。C#反彈/丟棄物品物理丟棄
我一直在試圖弄清楚自己,但我不明白,這可能會問很多,我會很感激,如果有人能幫助我。
編輯的要求:
玉以及當怪物就會被破壞,我會選擇它在磚內的隨機位置,我們稱之爲位置endLoc和怪物的位置startLoc。然後我會覺得這兩個位置之間的中心x點和由20減少Y(因爲這是我多少像素所需的項目由去了),讓我們稱這個變量launchLoc:
launchLoc = new Vector2(startLoc.X + ((endLoc.X - startLoc.X)/2), startLoc.Y - 20)
我想產生正確的Vector。
所以現在我需要從startLoc啓動項目到launchLoc,然後讓它回到endLoc。這是令人困惑的地方,我不確定如何爲此創建一個真實的弧線。最終的結果是物品會沿着高斯移動,就好像它被扔到空中一樣。
我試圖在每個時間間隔內使速度增加120倍,startLoc和launchLoc之間的X差,增加倍數,但是我無法讓它工作得很好。我不確定這是否是最好的方法。我使用第120個,因爲y值是20,並且該項目每隔一個間隔向上移動1個像素,所以1至20加起來爲120,這將使得x運動不斷增加,就像它被拋出一樣。
這是在二維btw,我希望有所幫助。
是否存在您遇到麻煩的特定位代碼?如果是的話,你可以在這裏發佈?你是在追求像這樣的邏輯如何工作?你能否提供更多細節?沒有更多的信息就很難回答這樣的問題。 – 2011-12-19 14:32:37
更新了我的文章。 – user1009573 2011-12-19 15:13:23
這是2d,所以你需要模擬它在屏幕上彈出的第三個維度? – scottheckel 2011-12-19 15:23:56