我最近开始学习 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的警告
非常感谢,如果问题的字体或格式不是超级整洁,我们深表歉意。