Я пытаюсь извлечь класс из CCSprite, чтобы сохранить ссылку на спрайты для соответствующей b2Body, но я получаю следующие ошибки (комментарии в коде)
BoxSprite.h
#import <Foundation/Foundation.h>
#import "Box2D.h"
#import "cocos2d.h"
@interface BoxSprite : CCSprite {
b2Body* bod; // Expected specifier-quantifier-list before b2Body
}
@property (nonatomic, retain) b2Body* bod; // Expected specifier-quantifier-list before b2Body
@end // Property 'bod' with 'retain' attribute must be of object type
BoxSprite.m
#import "BoxSprite.h"
@implementation BoxSprite
@synthesize bod; // No declaration of property 'bod' found in the interface
- (void) dealloc
{
[bod release]; // 'bod' undeclared
[super dealloc];
}
@end
Я надеялся создать спрайт и назначить тело с помощью:
BoxSprite *sprite = [BoxSprite spriteWithBatchNode:batch rect:CGRectMake(32 * idx,32 * idy,32,32)];
...
sprite->bod = body; // Instance variable 'bod' is declared protected
Затем получите доступ к b2Body:
if ([node isKindOfClass:[BoxSprite class]]) {
BoxSprite *spr = (BoxSprite*)node;
b2Body *body = spr->bod; // Instance variable 'bod' is declared protected
...
}