2012-03-28 18 views
1

在我的代碼,我已經寫了這一點,但它無法編譯:Cocos2D Help:如何合成NSMutableArray的二維數組對象?

在Class1.h:

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

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

在Class1.m:

@implementation 

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

但這編譯失敗,請你能告訴我如何爲二維數組設置和設置方法嗎?

回答

2

沒有辦法在Obj-C中創建二維數組,你可以做的唯一事情就是創建一個正常的數組,然後向它添加數組。

@interface Class1 : CCSprite 
{ 
    NSMutableArray *leafArr; 
} 

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

你添加元素有:

[leafArr addObject:mySecondArray]; 
+0

好的,謝謝,然後給我一個進一步的建議。我需要以5乘10矩陣的方式在屏幕上顯示一些葉子,如5行和10列。那麼你如何建議我這樣做?我當然會做一個精靈並將它們添加到數組中以保持計數。但你能告訴我如何維護這個數組嗎? – Shahnawaz 2012-03-28 09:27:39

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}, 

}; 

可以定義爲5×10矩陣;如上述.m文件。爲1d數組中的葉子定義標誌&值到另一個2d數組中。根據您的要求在顯示時檢查。