Les partenaires publicitaires:

Comment détecter les collisions dans xcode

Détecter une collision entre les objets est une tâche importante à accomplir dans des projets Xcode que Feature Animation et objets interactions, comme de nombreux jeux iPhone. Quartz 2D programmation d'applications de l'interface ou API de Xcode, contient la référence CGGeometry, qui possède des méthodes pour traiter les primitives géométriques et de leurs interactions. Détecter les collisions avec le "CGRectIntersectsRect" fonction, qui prend deux objets CGRect rectangulaires comme arguments et retourne si les deux objets sont entrés en collision ou non.

Instructions

  1. Ouvrez votre projet dans l'application Xcode IDE.

  2. Cliquez et faites glisser deux fichiers d'image rectangulaires dans le "Ressources" dossier de votre projet. Ce sont les deux images que vous allez détecter une collision entre. Cliquez "Ajouter" sur la fenêtre pop-up pour ajouter les éléments à votre projet.

  3. Tournez les deux fichiers image dans les propriétés et déclarer une méthode pour détecter les collisions par l'ouverture de la "MainViewController.h" déposer dans votre projet et changer le code pour:

    interface MainViewController: UIViewController {

    IBOoutlet UIImageView my_rect_1-
    IBOoutlet UIImageView
    my_rect_2-
    }



    property UIImageView (, conserver nonatomic) my_rect_1-
    property UIImageView (, conserver nonatomic)
    my_rect_2;

    • (IBAction) showInfo;
    • (void) myDetectCollisions;
    • Ouvrez le "MainView.xlib" déposer. Cliquez sur le "Médias" bouton dans la "Bibliothèque" fenêtre. Cliquez et faites glisser les deux fichiers d'image de la "Bibliothèque" sur la "Vue principale" fenêtre.

    • Cliquez "Propriétaire de fichier" sur "MainView.xlib" fenêtre.

    • Cliquez sur le "Liens" bouton sur le "Vue principale Attributs des Contrôleurs" fenêtre.




    • Cliquez et faites glisser le cercle à côté "my_rect_1" sur son image correspondante sur la "Vue principale" fenêtre. Répétez cette étape pour "my_rect_2."

    • Ouvrez le "MainViewController.m" déposer. Synthétiser les deux fichiers d'image en ajoutant le code suivant dans le cadre du "implementation MainViewController" ligne:

      synthesize my_rect_1-
      synthesize my_rect_2;

    • Créer la méthode pour détecter les collisions en ajoutant le code suivant:

      • (void) {myDetectCollisions
      • if (CGRectIntersectsRect (my_rect_1.frame, my_rect_2.frame)) {
        // Collision détectée
        }
        }

        Le "CGRectIntersectsRect" la fonction sera de retour "vrai" si il ya eu une collision de sprites entre les deux images.

      • Appelez le "myDetectCollisions" méthode en ajoutant le code suivant dans votre méthode qui gère le mouvement des deux images:

        [Auto myDetectCollisions];

      • Enregistrez votre projet Xcode. Cliquez sur le "Construire et Go" bouton pour lancer votre nouveau code de collision.

      » » » » Comment détecter les collisions dans xcode