Buenas tardes tengo un problemilla a ver si me podeis echar una mano ya que he probado de todo y no se cual puede ser el problema, os pongo un poco en situacion:
Tengo un personaje que puede usar un gancho si doy click izquierdo lanza un gancho a esa posicion y el personaje se mueve a donde se ha enganchado tanto una parte del escenario como diferentes personajes que pueden haber, si doy click derecho a una parte del escenario el gancho es devuelto pero si doy a un personaje/objeto suelto es atraido hacia mi, el problema esta en que no detecta el click derecho hace lo mismo que el click izquierdo, pero si lanzo el gancho con el click izquierdo y cuando llega al objetivo le doy a click derecho si que hace lo que tendria que hacer, he cambiado mil veces el codigo tanto de una parte como de otra y no se que puede ser os pongo el codigo a ver si encontrais que da el problema vais a ver codigo desorganizado pero es por eso de tanto buscar el problema.
//Script para ver donde apunta el raton.
using UnityEngine;
using System.Collections;
public class DispararCuerda : MonoBehaviour {
public GameObject gancho;
private GameObject auxGancho;
public Camera m_camera;
public Transform dirClick;
private Transform auxdirClick;
private Vector3 localClick;
private Vector3 posRaton;
private Quaternion mirarDir;
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
posRaton = Input.mousePosition;
posRaton.z = Vector3.Distance(m_camera.transform.position, transform.position);
posRaton = m_camera.ScreenToWorldPoint(posRaton);
if(auxGancho == null){
if(Input.GetMouseButtonDown() || Input.GetMouseButtonDown(1) ){
auxdirClick = Instantiate(dirClick, posRaton, Quaternion.identity) as Transform;
localClick = (auxdirClick.transform.position - transform.position).normalized;
mirarDir = Quaternion.LookRotation(localClick);
auxGancho = Instantiate(gancho, transform.position, mirarDir) as GameObject;
Destroy(auxdirClick.gameObject);
}
}
}
}
//script encargado de lanzar y recoger gancho
using UnityEngine;
using System.Collections;
public class Gancho : MonoBehaviour {
// Use this for initialization
public float lanzamientoVel;
public float tamCuerda;
public float fuerzaCuerda;
public float peso;
private GameObject player;
private GameObject Objeto;
private Rigidbody rigidbody;
private SpringJoint efectoCuerda;
private float distanciaPlayer;
private bool atraer;
private bool enganchar;
private bool tirarCuerda;
public static bool colisionCuerda;
void Start ()
{
player = GameObject.FindGameObjectWithTag("Gancho");
rigidbody = GetComponent<Rigidbody>();
efectoCuerda = player.GetComponent<SpringJoint>();
tirarCuerda = true;
colisionCuerda = false;
atraer = false;
}
void Update ()
{
distanciaPlayer = Vector3.Distance(transform.position, player.transform.position);
if(Input.GetMouseButtonDown() && distanciaPlayer <= 1)
{
tirarCuerda = true;
}
else if(Input.GetMouseButtonUp())
{
this.transform.parent = null;
tirarCuerda = false;
}
if(Input.GetMouseButtonDown(1) && distanciaPlayer <= 1)
{