我仍在學習基礎知識,所以請稍微溫柔。我正在研究滾動遊戲的動作腳本。我的滾動效果非常好,但現在我試圖增加跳躍的能力。讓玩家在Unity3D中正確跳轉
在我的情況下,「玩家」是一個基本的球體。我試圖完成的是當空間被按下時,球沿着它當前滾動的方向跳入空中。
這是我嘗試過自己,但給出了非常奇怪的結果:
float moveHorizontal = Input.GetAxis("Horizontal");
float moveVertical = Input.GetAxis("Vertical");
Vector3 movement = new Vector3(moveHorizontal, 0.0f, moveVertical);
if (Input.GetKey("space"))
{
transform.position += transform.up * 20 * Time.deltaTime;
}
rb.AddForce(movement * speed); //rb = RigidBody
這導致球有時會在錯誤的方向跳躍或只是簡單地加速到某個方向不跳的。所以顯然我越來越近了,但還沒有完成。任何人都可以解釋我做錯了什麼,以及如何解決它?
不尋找快速修復!不要從中學到任何東西。
這似乎工作得很好。謝謝。但是,你能解釋爲什麼我的解決方案不起作用嗎?我試圖理解我在做什麼,而不是盲目地複製/粘貼。 – icecub
太棒了。我想我可以用這個工作。再次感謝! :)順便說一句:我確實設法通過互聯網使它成爲多人遊戲。 Ppl可以加入他們自己的球並開始滾動xDD – icecub
好東西,我已經拿出了評論,並將它們包含在我的回答中:) – Tom