Nwlapcug.com


Come rilevare collisioni in Xcode

Rilevamento di una collisione tra gli oggetti è un importante compito da svolgere in progetti Xcode tale caratteristica animazione e interazioni tra oggetti, come molti giochi di iPhone. Di Xcode Quartz 2D application programming interface, o API, contiene il riferimento di CGGeometry, che dispone di metodi per trattare con primitive geometriche e le loro interazioni. Rilevare le collisioni con la funzione "CGRectIntersectsRect", che prende due oggetti rettangolari di CGRect come argomenti e restituisce se i due oggetti sono scontrati o non.

Istruzioni

1

Aprire il progetto nell'applicazione Xcode IDE.

2

Fare clic e trascinare i due file di immagine rettangolare nella cartella "Resources" del vostro progetto. Queste sono le due immagini che si rileverà una collisione tra. Fare clic su "Aggiungi" nella finestra a comparsa per aggiungere elementi al progetto.

3

Trasformare le due immagini in proprietà e dichiarare un metodo per rilevare le collisioni aprendo il file "MainViewController" nel progetto e modificare il codice per:

@interface MainViewController: {UIViewController < FlipsideViewControllerDelegate >

IBOoutlet UIImageView my_rect_1;
IBOoutlet UIImageView
my_rect_2;
}

@property (non atomica, mantenere) UIImageView my_rect_1;
@property (non atomica, mantenere) UIImageView
my_rect_2;

ShowInfo (IBAction); myDetectCollisions (void); 4

Aprire il file "MainView.xlib". Fare clic sul pulsante "Media" nella finestra "Libreria". Fare clic e trascinare i file di due immagine dalla "Libreria" la finestra "principale".

5

Fare clic su "Proprietario del File" nella finestra "MainView.xlib".

6

Fare clic sul pulsante "Connessioni" nella finestra "Main View Controller attributi".

7

Fare clic e trascinare il cerchio accanto a "my_rect_1" nella sua immagine corrispondente nella finestra "Visualizzazione principale". Ripetere questo passaggio per "my_rect_2."

8

Aprire il file "MainViewController. M". Sintetizzare le due immagini aggiungendo il codice seguente sotto la riga "@implementation MainViewController":

@synthesize my_rect_1;
@synthesize my_rect_2;

9

Creare il metodo per rilevare le collisioni aggiungendo il codice seguente:

myDetectCollisions (void) {

Se (CGRectIntersectsRect (my_rect_1.frame, my_rect_2.frame)) {
collisione rilevata
}
}

La funzione di "CGRectIntersectsRect" verrà restituito "true" se c'è stata una collisione sprite tra le due immagini.

10

Chiamare il metodo "myDetectCollisions" aggiungendo il seguente codice all'interno del metodo che gestisce il movimento delle due immagini:

[self myDetectCollisions];

11

Salvare il progetto di Xcode. Fare clic sul pulsante "Build and Go" per eseguire il nuovo codice di collisione.