Raycasting pour trouver clic de souris sur l'Objet dans l'unité jeux 2d

Je suis en train d'essayer de supprimer l'objet sur lequel la souris est cliqué. Je fais un jeu en 2D à l'aide de la nouvelle Unity3D 4.3. Voici le code que j'utilise

void Update () {

    if (Input.GetMouseButtonDown(0)) 
    {
        Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
        RaycastHit hit;
        if(Physics.Raycast(ray,out hit))
        {
            isHit = false;
            Destroy(GameObject.Find(hit.collider.gameObject.name));

        }
    }

}

Le contrôle n'est pas saisie de l'intérieur si la boucle. (isHit n'est pas définie comme faux).

Fait l'objet d'un collisionneur? A-t-elle un collisionneur et un rigidbody?
Oui, il contient un collisionneur et un rigidbody
J'ai utilisé Physics2D et ça marche!!!! C'est le code modifié Ray ray = Camera.principal.ScreenPointToRay(D'Entrée.mousePosition); Vector2 origine = new Vector2(ray.de l'origine.x,de rayons.de l'origine.y); RaycastHit2D hit = Physics2D.Linecast(origine-Vector2.jusqu',1 << LayerMask.NameToLayer("Support")); Détruire(hit.collider.gameObject), Mais la quand même, quand je clique sur d'autres endroits que l'objet est supprimé.. je pense que le problème est avec le raycast direction -Vector2... quelle direction dois-je le jeter ??
pas vraiment partie de ce que vous avez demandé, mais cette ligne: Destroy(GameObject.Find(hit.collider.gameObject.name)); trouver n'est pas nécessaire. Simplement en faisant Destroy(hit.collider.gameObject); devrait fonctionner parfaitement.
Je ne peux pas utiliser cette condition en raison de l'erreur. Il a dit, "impossible de convertir de 'UnityEngine.Ray UnityEngine.vector2'." Même que Ray ray.

OriginalL'auteur Bimal Bose B S | 2013-12-14