2013-03-17 81 views
0

我動態發展是Cocos2d遊戲通過從plist.For範例檢索所有值我正在檢索從在此鏈路中給出的plist中的值檢索到:除去不必要的NSArray括號當數據從plist中

enter image description here

這就是我想要的動畫CCRotateTo的類型,它是來自plist的值。當我沒有,但價值來的一些加括號是這樣的:

enter image description here

我已經加入所有的動畫如CCRotateTo,CCScale陣列中的命名seqarray。由於在數組的每個索引值中都添加了不需要的括號,因此在CCSequence中添加這些seqarray值時,會給我帶來很大問題。它顯示了這樣的GDB的一些錯誤:

enter image description here

任何一個請幫我解決這個問題

編輯

//在代碼中給出ActionValues具有的路徑plist中的動畫例如「Scene01.Child.animations」。在關鍵路徑,我將發送ActionValues內的路徑,如「Animate1.parameters」

[seqarray addobject: [self DictValue1:@"Scene01.Mario.animations" Keypath:@"Animate1.parameters"]]; 

我會路過現場的路徑,它的下面

+(id)DictValue1 :(id)actionvalues Keypath:(NSString *)Key1 
{ 
NSArray * multiarrays1 = [actionvalues valueForKeyPath:Key1]; 
for(id actions in multiarrays1) 
{  
if([[actions valueForKey:@"type"] isEqualToString:@"CCRotateTo"]) 
{ 
[sequenceArray addObject:[self RotateTo:actions]]; 
} 
} 
return sequenceArray 
} 

+(CCRotateTo *)RotateTo:(id)Fadevalues 
{ 
if([Fadevalues isKindOfClass:[NSDictionary class]]) 
{ 
    CCLOG(@"Fadevalues %@",Fadevalues);//All values with duration angle and type 
    CCLOG(@"Fadevalues %@",[Fadevalues valueForKey:@"parameters"]);// Duration value 
    NSArray * sss = [Fadevalues valueForKey:@"parameters"]; 
    CCRotateTo * Rotate = [CCRotateTo actionWithDuration:[[Fadevalues valueForKey:@"duration"] intValue] angle:[[sss objectAtIndex:0]intValue]]; 
    return FadeOut; 
} 
return nil; 

}動畫路徑方法

這是我將值添加到數組的方式。請幫我解決這個問題

+1

向我們顯示保存/加載代碼。 – LearnCocos2D 2013-03-17 20:42:56

+0

@ LearnCocos2D我編輯了我的問題,請查看它並幫助我解決此問題 – Blisskarthik 2013-03-18 02:11:48

回答

1

括號不是你的問題。

讓我們從後面開始:NSMutableArray告訴你,它收到一條消息duration,沒有相應的選擇器。這看起來像一個邏輯錯誤,你可能想把消息發送到存儲在數組中的對象,而不是數組本身。

括號你看,像:

<CCRotateTo = … | Tag = 1> 

他們來自記錄的對象。例如,如果你這樣做:

NSLog(@"%@", rotateAction); 

它會運行該對象的description方法。這通常在上面的語法中將對象作爲字符串返回,對象的類名稱,指針以及括在尖括號中的附加數據。