0
所以我在我的應用程序中需要替換精靈的圖像,我想我知道該怎麼做,但我在實現它時遇到了麻煩。基本上,我正在做一個多米諾骨牌遊戲,我需要能夠翻轉多米諾骨牌,所以你可以看到數字。如何從可變對象數組中獲取NSString值?
我domino.h文件開始....
#import <Foundation/Foundation.h>
#import "cocos2d.h"
@interface Domino : CCSprite {
int int_leading;
int int_trailing;
int int_suitrank;
int int_playerid;
NSString *str_tilename;
NSString *str_mirrortilename;
}
@property int int_leading,int_trailing, int_playerid,
@property(nonatomic, retain) NSString *str_tilename;
@property(nonatomic, retain) NSString *str_mirrortilename;
-(void) print;
-(void) setTileName: (NSString *) theTileName;
-(void) setMirrorName: (NSString *) theMirrorName;
-(NSString *) str_tilename;
-(NSString *) str_mirrortilename;
@end
,然後我的.m文件...
#import "Domino.h"
@implementation Domino
@synthesize int_leading,int_trailing, str_tilename, str_mirrortilename, int_playerid;
-(void) print {
NSLog (@"%i/%i", int_leading, int_trailing);}
-(void) setTileName: (NSString *) theTileName;
{
str_tilename=[[NSString alloc] initWithString: theTileName];
}
-(void) setMirrorName: (NSString *) theMirrorName;
{
str_mirrortilename=[[NSString alloc] initWithString: theMirrorName];
}
-(NSString *) str_tilename
{
return str_tilename;
}
-(NSString *) str_mirrortilename
{
return str_mirrortilename;
}
@end
最後,在我的比賽層...
Domino *d06 =[[Domino alloc] initWithSpriteFrameName:@"blank.png"];
TileName= @"0-6.png";
MirrorName= @"6-0.png";
[d06 setTileName: TileName];
[d06 setMirrorName: MirrorName];
d06.int_leading=0;
d06.int_trailing=6;
在這一點上,我將所有的多米諾骨牌放在一個大的可變數組中,用於跟蹤哪些數據仍然可用於玩家圖片ķ。我遇到的問題是我沒有找到如何從可變數組中取出「TileName」,或者我找到了它,但沒有理解它。
如果我在一個很For循環,我想代碼應該像
NSString *temp1=[[[movableSprites objectAtIndex:i]valueForKey:@"str_tilename"]string];
但這只是導致程序崩潰。你能爲我指出正確的方向嗎?
驚人的你怎麼能在東西小時盯着,而忽略這麼簡單的東西。感謝您的快速幫助! – PWiggin
它只是在cocos2d .. 2年的經驗問題:P –