私はスプライトのイメージを置き換える必要がある私のアプリのポイントにいるので、私はそれを行う方法を知っていると思うが、私はそれを実装するのに苦労している。基本的に、私はドミノゲームを作っています。ドミノを裏返して数字を見ることができるようにする必要があります。可変オブジェクト配列から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];
のようなものであるべきだと思うだろうが、これはただのプログラムがクラッシュにつながります。あなたは正しい方向に私を向けることができますか?
あなたが時間のために何かを凝視し、そう単純なものを見落とすことができる方法アメージングします。クイックヘルプをありがとう! – PWiggin
cocos2dでの2年間の経験だけです。:P –