2012-03-28 1 views
1

In meinem Code habe ich dies geschrieben, aber es nicht kompilieren: nichtCocos2D Help: Wie wird ein 2D-Array-Objekt von NSMutableArray synthetisiert?

@implementation 

@synthesize leafArr[20][20]; 
@end 

Aber das, kompilieren bitte:

In Class1.h:

@interface Class1 : CCSprite 
{ 
    NSMutableArray *leafArr[20][20]; 
} 

@property(readwrite, assign) NSMutableArray *leafArr; 
@end 

In Class1.m Können Sie mir sagen, wie man die Methode für ein 2D-Array einstellen und einstellen kann?

Antwort

2

Es gibt keine Möglichkeit, ein 2D-Array in Obj-C zu erstellen. Das einzige, was Sie tun können, ist ein normales Array zu erstellen und dann Arrays hinzuzufügen.

@interface Class1 : CCSprite 
{ 
    NSMutableArray *leafArr; 
} 

@property(readwrite, assign) NSMutableArray *leafArr; 
@end 

Und fügen Sie Elemente mit:

[leafArr addObject:mySecondArray]; 
+0

Okay danke, gib mir einen weiteren Vorschlag dann. Ich muss einige Blätter über den ganzen Bildschirm in 5 x 10 Matrix anzeigen, wie in 5 Zeilen und 10 Spalten. Also, wie schlägst du vor, dass ich das tue? Ich würde natürlich ein Sprite machen und sie zum Array hinzufügen, um zu zählen. Aber können Sie mir zeigen, wie man dieses Array erhält? – Shahnawaz

1
int str2Darray[9][9] = { 

    {-1, -1, -1, 1, 1, 1, -1, -1, -1}, 
    {-1, -1, -1, 1, 1, 1, -1, -1, -1}, 
    {-1, -1, -1, 1, 1, 1, -1, -1, -1}, 
     {1, 1, 1, 1, 1, 1, 1, 1, 1}, 
     {1, 1, 1, 1, 0, 1, 1, 1, 1}, 
     {1, 1, 1, 1, 1, 1, 1, 1, 1}, 
    {-1, -1, -1, 1, 1, 1, -1, -1, -1}, 
    {-1, -1, -1, 1, 1, 1, -1, -1, -1}, 
    {-1, -1, -1, 1, 1, 1, -1, -1, -1}, 

}; 

Sie 5 definieren x 10 matrics wie oben in .m-Datei. Definieren Sie Flag für Blätter in 1 2d Array & Wert in ein anderes 2d-Array. Überprüfen Sie zum Zeitpunkt der Anzeige entsprechend Ihrer Anforderung.