最近、Objective-C と Cocos-2D を学び始めました。スプライトの作成を自動化する独自の方法を定義しようとしました。
他の自動化メソッドも作成する独自のクラスを追加しました。とにかく、私の .h ファイルは次のようになります。
#import <Foundation/Foundation.h>
#import "cocos2d.h"
@interface ActionsClass : CCNode {
}
@property (nonatomic, strong) CCSprite* createSprite;
@property (nonatomic, strong) CCSprite* spriteName;
@property (nonatomic, strong) NSString* pngName;
@property (nonatomic) CGPoint* spriteCoordinate;
- (CCSprite *)createSprite: (CCSprite *)spriteName: (NSString *)pngName: (CGPoint *)spriteCoordinate;
@end
そして .m は次のとおりです。
#import "ActionsClass.h"
@implementation ActionsClass
@synthesize createSprite = _createSprite;
@synthesize spriteName = _spriteName;
@synthesize pngName = _pngName;
@synthesize spriteCoordinate = _spriteCoordinate;
- (CCSprite *)createSprite: (CCSprite *)spriteName: (NSString *)pngName: (CGPoint *)spriteCoordinate
{
if (!_createSprite)
{
_createSprite = [[CCSprite alloc] init];
_spriteName = [CCSprite spriteWithFile:_pngName];
_spriteName.position = ccp(_spriteCoordinate->x, _spriteCoordinate->y);
[self addChild:_spriteName];
}
return _createSprite;
}
@end
メソッドを呼び出したいメインの .m ファイル:
[self createSprite: saif: @"saif.png": ccp(100,100)];
これにより、xcode がインスタンス メソッドcreateSpriteを見つけられず、デフォルトでidになるという警告が表示されます。
質問のフォントやフォーマットがきちんとしていない場合は、どうもありがとうございます。