2012-05-04 10 views
0

私はスプライトのイメージを置き換える必要がある私のアプリのポイントにいるので、私はそれを行う方法を知っていると思うが、私はそれを実装するのに苦労している。基本的に、私はドミノゲームを作っています。ドミノを裏返して数字を見ることができるようにする必要があります。可変オブジェクト配列からNSString値を取得するにはどうすればよいですか?

#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.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ファイル... ...

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; 

この時点で、すべてのドミノを一緒に、プレイヤーが写真に利用できるものを追跡する大きな可変配列に追加しますk。私が持っている問題は、 "TileName"を変更可能な配列から引き出す方法が見つからなかったか、またはそれを見つけたかもしれませんが、それを理解していないことです。

私はForループにいる場合は、私はコードが

NSString *temp1=[[[movableSprites objectAtIndex:i]valueForKey:@"str_tilename"]string]; 

のようなものであるべきだと思うだろうが、これはただのプログラムがクラッシュにつながります。あなたは正しい方向に私を向けることができますか?

答えて

1
NSString *temp1=[(Domino *)[movableSprites objectAtIndex:i] str_tilename]; 

は私が... ...自分のものを解決するための構文をチェックします。このコードを使用して考えて、この情報がお役に立てば幸い.. :)

+0

あなたが時間のために何かを凝視し、そう単純なものを見落とすことができる方法アメージングします。クイックヘルプをありがとう! – PWiggin

+0

cocos2dでの2年間の経験だけです。:P –

関連する問題