Jump to content
UnitySpain

Aceptamos donaciones vía Paypal.

UnitySpain.com es un servicio gratuito, pero mantener la Comunidad conlleva una serie de gastos.

Fondo Anual Unityspain: Donados 0€ de 150,00€

  • Servidor: Dominio.com y Hosting Web
  • Mantenimiento de los Foros
  • Contenido y Servicios Extras
  • Mantenimiento para Redes Sociales
Sign in to follow this  
Gers2017

Disparar donde se encuentra el puntero

Recommended Posts

Hola soy principiante y me preguntaba como podría hacer para que al detectar el click izquierdo del ratón la instancia se cree y se dirija a las coordenadas del cursor se detecto el click, también como podría hacer para que la rotación concuerde con la dirección de la instancia.

De momento había pensado en este código:

Quote

 

if (Input.GetButtonDown("Fire1"))    {
            Shoot();
}

void Shoot() {
    Instantiate(bulletPrefab, Firepoint.position, Firepoint.rotation);
}

 

Firepoint representaría la posición del Cursor, aunque también pensaba que un objeto siguiera al cursos y este fuera Firepoint

 

 

UNITY.jpg

No Ignore plz no.jpg

Edited by pioj
Por favor, usa el <> o el "quote" para pegar código.

Share this post


Link to post
Share on other sites

hola.

puedes hacerlo de varias formas... pero primero deverias saber la posicion de raton (cursor) en pantalla, ...y la posicion del player...

si a la posicion del raton (en pantalla) ...le restas la posicion del player (en pantalla)... te dara un vertor de direccion que apuntara hacia tu cursor...

puedes usarlo para definir la direccion de tu bala...  o puedes hayar el angulo del vector con "Mathf.Atan2(dist.x, dist.y)" y luego simplemente girar la bala...

 

por ejemplo:


Vector3 mousePos = Input.mousePosition;
Vector3 playerPos = Camera.main.WorldToScreenPoint(transform.position);
Vector3 direction = mousePos - playerPos;
float ang = Mathf.Atan2(direction.x, direction.y);

GameObject ba = (GameObject)Instantiate(bala, transform.position, transform.rotation);
ba.Rotate(0f,0f,ang);

 

Todo esto es suponiendo que es un juego 2d...

Edited by Igor

Share this post


Link to post
Share on other sites

¡Gracias por la respuesta! si el juego es 2d, busque en la documentación pero terminé buscando respuesta aquí :7_sweat_smile:

Share this post


Link to post
Share on other sites

¿Como vas a disparar? que te estoy viendo venir. Ni se te ocurra apuntar el proyectil a la dirección y hacer un AddForce o algo parecido, que os conozco. Mira el Raycast.

 

Share this post


Link to post
Share on other sites
Sign in to follow this  

×
×
  • Create New...