1

我从该行收到以下警告

self.physicsWorld.contactDelegate = self;

从不兼容的类型“PlayLevel *__strong”分配给“id”

-(id)initWithSize:(CGSize)size level:(int)level{
    if (self = [super initWithSize:size]) {
        _level = level;
        self.physicsWorld.gravity = CGVectorMake(0,0);
        self.physicsWorld.contactDelegate = self;

完全不确定是什么原因造成的。这是我的标题的样子:

#import <SpriteKit/SpriteKit.h>

@interface PlayLevel : SKScene

-(id)initWithSize:(CGSize)size level:(int)level;

@end

知道是什么原因造成的吗?我有点需要一个contactDelegate。谢谢!

4

3 回答 3

1

您必须在头文件中添加委托引用。例如,如果我们使用在头文件中UINavigationController添加的委托。<UINavigationControllerDelegate>同样,您将必须添加联系人代表

于 2014-02-06T12:33:27.367 回答
1

你应该在你的类接口(在<>里面)声明你的类实现了委托。

于 2014-02-06T12:33:50.760 回答
0

在您声明PlayLevelextends的标头中SKScene,您还需要声明它实现了SKContactDelegate接口,如下所示:

@interface PlayLevel : SKScene <SKPhysicsContactDelegate>
于 2014-04-22T01:23:49.760 回答