come aggiungere rimbalzo all'oggetto in unità


Risposta 1:

Ci possono essere diversi modi.

Un modo può essere quello di aggiungere un materiale fisico al collisore e impostare il suo rimbalzo su 1 e l'attrito su 0.

Se il tuo oggetto ha un corpo rigido, puoi ottenere lo stesso risultato anche con il copione.

Attacca il corpo rigido all'oggetto di gioco e al collisore. Il muro deve anche avere un collisore e l'etichetta del muro. Allega lo script seguente al tuo oggetto e apporta le modifiche necessarie.

velocità del galleggiante pubblico = 10; pubblico Rigidbody2D rb; Vector3 pushRight; Vector3 pushLeft; // Usa questo per l'inizializzazione void Start () {rb = GetComponent (); pushRight = nuovo Vector3 (5f, 0f, 0f); pushLeft = nuovo Vector3 (-5f, 0f, 0f); } // L'aggiornamento viene chiamato una volta per frame void Update () { } void OnCollisionEnter2D (Collision2D altro) { if (other.gameObject.tag == "Wall") { Debug.Log ("pushRight"); rb.AddForce (pushRight * velocità); } if (other.gameObject.tag == "Wall") { Debug.Log ("pushLeft"); rb.AddForce (pushLeft * velocità); } }}

Rif:

Cercando di far rimbalzare un oggetto su un muro