ich meine Spieler springen aber im immer einen Fehler in fixedUpdate mit rb.AddForce bin versucht zu machen, machen jedoch „nicht auf AddForce zuweisen, da es sich um eine Methodengruppe ist“ gearbeitet, bevor ich hinzugefügt die sprunggeschwindigkeit und sprungfunktion wie kann ich das machen?Wie ein Spieler springen in der Einheit mit C#
Code:
using UnityEngine;
using UnityEngine.UI;
using System.Collections;
public class PlayerController : MonoBehaviour {
public float speed; //Creates Speed Variable
public Text countText; //Creates Count Text Variable
public Text winText; //Creates Win Text Variable
public float JumpSpeed;
private Rigidbody rb; //Creates Rigidbody Variable
private int count; //Creates Count Variable
void Start()
{
rb = GetComponent<Rigidbody>(); //sets variable for Rigidbody
count = 0;
SetCountText();
winText.text = "";
}
void FixedUpdate() //Controls
{
float moveHorizontal = Input.GetAxis ("Horizontal");
float moveVertical = Input.GetAxis ("Vertical");
float moveForward = Input.GetAxis ("Forward");
Vector3 movement = new Vector3 (moveHorizontal, 0.0f, moveVertical);
rb.AddForce = (movement * speed);
if (Input.GetKeyUp (KeyCode.Space))
{
JumpSpeed = 5.0f;
Vector3 jump = new Vector3 (0.0f, moveForward, 0.0f);
}
}
void OnTriggerEnter(Collider other) //Collect Items
{
if (other.gameObject.CompareTag ("Pickup")) {
other.gameObject.SetActive (false);
count = count + 1;
SetCountText();
}
}
void SetCountText() //Updates Count Text
{
countText.text = "Count: " + count.ToString();
if (count >= 8)
{
winText.text = "You Win!"; //Displays Win Text
}
}
}
wie ist, dass anders als R b, AddForce (Bewegungsgeschwindigkeit *); bleow vector3 Bewegung? Edit: nevermind entfernen the = ist der Unterschied – Nirset
Nun, es gibt ein zusätzliches '=' Zeichen. Das soll nicht da sein. '=' ist der Zuweisungsoperator. Sie weisen der Methode rb.AddForce den Wert von '(movement * speed)' zu, was, wie ich in meiner Antwort erläutere, keinen Sinn ergibt. Wenn Sie eine Methode aufrufen möchten, müssen Sie den Operator '()' verwenden und die Parameter zwischen ihnen setzen, wie in meiner Antwort gezeigt. –