1 回答

TA貢獻1798條經驗 獲得超3個贊
提出問題時,請嘗試更詳細地了解問題的事實,因為諸如“未按預期工作”和“跳躍不一致”之類的短語非常主觀,并且可能意味著不同的內容,具體取決于閱讀它的人:)
我在我的機器上嘗試了代碼,發現有時按空格鍵不會啟動跳轉。似乎沒有出現其他問題(盡管您可能希望稍后為跳躍設置冷卻時間)。
問題在于您的跳轉代碼位于FixUpdate()中。FixUpdate()似乎在Update()之前運行,但并不總是被調用。這就是為什么空格輸入有時會被忽視的原因。
將其放在Update()中將解決該問題。
using UnityEngine;
using System.Collections;
public class BallMovement : MonoBehaviour
{
public float speed;
private Rigidbody rb;
void Start()
{
rb = GetComponent<Rigidbody>();
}
private void Update()
{
Camera mainCamera = GameObject.FindGameObjectWithTag("8BallCamera").GetComponent<Camera>() as Camera;
float moveHorizontal = Input.GetAxisRaw("Horizontal");
float moveVertical = Input.GetAxisRaw("Vertical");
Vector3 movement = mainCamera.transform.forward * moveVertical * 30;
rb.AddForce(movement * speed);
if (Input.GetKeyDown("space"))
{
rb.AddForce(0, 2f, 0, ForceMode.Impulse);
}
}
}
希望這可以幫助!
- 1 回答
- 0 關注
- 142 瀏覽
添加回答
舉報