Recoger y disparar armas
– UnityAssets3Free
hola , me llamo josel luis y para hoy os traigo
esta unity pregunta
Soy nuevo en Unity y me preguntaba si alguien sabe cómo hacer que el jugador tome un arma y dispare en Unity 2D. Ya hice el sprite para el arma y he estado tratando de conseguirlo con este código:
public GameObject player;
void Update()
void OnTriggerEnter2D(Collider2D col)
if (col.tag == "Player")
gameObject.transform.position = new Vector3(player.transform.position.x + 2, player.transform.position.y, player.transform.position.z);
La pistola está configurada como disparador y no tiene rigidbody. Todos los tutoriales de youtube muestran cómo agarrar un objeto y luego destruirlo, pero no muestran cómo «sostener» el objeto.
1 respuesta 1
Si lo haces player.transform.position.x + 2
lo que coloca el arma en la posición del jugador x + 2. Esta no es una buena forma de hacerlo.
Mi consejo es que lo hagas.
- Copia el arma.
- Copia padre para cámara.
- Coloque el arma en algún lugar de su reproductor.
- desactivar el arma
En la secuencia de comandos de su reproductor, agregue esta línea
public GameObject weapon;
Ahora, en la secuencia de comandos de su colección de armas, cambie la referencia del jugador a cualquiera que sea el nombre de la secuencia de comandos del jugador en lugar de un GameObject.
Por ejemplo, supongamos que la secuencia de comandos de su reproductor se llama PlayerScript.cs en lugar de
public GameObject player;
deberías hacer
public PlayerScript player;
Ahora tenemos una referencia al script del reproductor. Ahora podemos acceder al arma. Cambie OnTrigger a lo siguiente:
void OnTriggerEnter2D(Collider2D col)
if (col.tag == "Player")
// Set the weapon active
player.weapon.SetActive(true);
// Destroy this pick-up
Destroy(gameObject);
Además, en su código tiene ontriggerenter dentro del método de actualización. No es como funciona. Asegúrese de que el método fuera de del método de actualización.
Ahora cuando toques el suelo con el arma. Ahora debes habilitar el arma en la mano del jugador y destruir la que está en el suelo.
En el editor, arrastra el arma del jugador a la weapon
campo en el guión del jugador.
Además, arrastre el jugador a la player
campo de armas en el suelo.
Espero que esto ayude, no dude en hacer más preguntas si eso no funciona. Mantennos informados. 🙂
nota: si aun no se resuelve tu pregunta por favor dejar un comentario y pronto lo podremos de nuevo , muchas gracias
eso es todo,espero que te halla servido