Noticias

¡RECUERDA QUE SI ERES UN NUEVO USUARIO, DEBES PRESENTARTE PARA PODER PUBLICAR MENSAJES! | TENEMOS CANAL OFICIAL DE TELEGRAM: t.me/unity3dspain

Disparar donde se encuentra el puntero

Iniciado por Gers2017, Octubre 31, 2018, 04:57:21 AM

Tema anterior - Siguiente tema
Octubre 31, 2018, 04:57:21 AM Ultima modificación: Octubre 31, 2018, 02:46:06 PM por pioj
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:
 



   
       
   
   
      if (Input.GetButtonDown("Fire1"))    {
                  Shoot();
      }
   
   
      void Shoot() {
          Instantiate(bulletPrefab, Firepoint.position, Firepoint.rotation);
      }
   
   
       
   

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

 

Noviembre 01, 2018, 11:42:18 AM #1 Ultima modificación: Noviembre 01, 2018, 11:43:02 AM por Igor
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...

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

¿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.
 
 

Etiquetas: