亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

跳躍未按預期工作 Unity 3D

跳躍未按預期工作 Unity 3D

C#
斯蒂芬大帝 2023-08-13 13:52:38
你好,我想找出為什么我的跳躍不一致。我查看了許多問題,但仍然找不到解決方案。如果有人能提供幫助那就太棒了?。篋using UnityEngine;using System.Collections;public class BallMovement : MonoBehaviour {public float speed;private Rigidbody rb;void Start (){? ? rb = GetComponent<Rigidbody>();}void FixedUpdate (){? ? 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 回答

?
呼如林

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);

        }

    }

}

希望這可以幫助!


查看完整回答
反對 回復 2023-08-13
  • 1 回答
  • 0 關注
  • 142 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號