Я пытался использовать какую-то цель C, я дошел до создания пары объектов, и сейчас я пытаюсь их создать. Код компилируется без предупреждений, но когда он запускается, я получаю это в консоли:
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason:
'-[CCSprite copyWithZone:]: unrecognized selector sent to instance 0x6424ad0'
Я предполагаю, что где-то есть проблема с кодом, я нигде не вызываю метод copyWithZone
Вот код для игрового объекта:
gameobject.h
#import "cocos2d.h"
#import "Box2D.h"
@interface GameObject : NSObject {
}
-(id) initWithSprite:(CCSprite*) sprite
andVelocity:(b2Vec2*) velocity;
@property (nonatomic, copy) CCSprite *Sprite;
@property (nonatomic) b2Vec2 *Velocity;
@end
gameobject.mm
#import "cocos2d.h"
#import "GameObject.h"
#import "Box2D.h"
@implementation GameObject
@synthesize Sprite;
@synthesize Velocity;
-(id) initWithSprite:(CCSprite*) sprite
andVelocity:(b2Vec2*) velocity
{
self = [super init];
self.Sprite = sprite;
self.Velocity = velocity;
return self;
}
@end
вот код для BodyObject:
BodyObject.mm
#import "BodyObject.h"
@implementation BodyObject
@synthesize Body;
@synthesize Fixture;
-(id) initWithBody:(b2Body*) body
andFixture:(b2Fixture*) fixture
andVelocity:(b2Vec2*) velocity
andSprite:(CCSprite*) sprite
{
self = [super initWithSprite:(CCSprite*)sprite
andVelocity:(b2Vec2*)velocity];
self.Body=body;
self.Fixture=fixture;
return self;
}
@end
BodyObject.h
#import "GameObject.h"
#import "Box2D.h"
#import "cocos2d.h"
@interface BodyObject : GameObject {
}
@property (nonatomic) b2Body *Body;
@property (nonatomic) b2Fixture *Fixture;
-(id) initWithBody:(b2Body*) body
andFixture:(b2Fixture*) fixture
andVelocity:(b2Vec2*) velocity
andSprite:(CCSprite*) sprite;
@end
И где я пытаюсь создать его экземпляр
BodyObject *bodyObject = [[BodyObject alloc] initWithBody:(b2Body *)body
andFixture:(b2Fixture *)fixture
andVelocity:(b2Vec2*) vector
andSprite:(CCSprite*) sprite];
Может кто-нибудь указать мне, где начать искать решение для этих типов ошибок или увидеть проблему с кодом? Я могу опубликовать больше классов, если требуется.
Спасибо