我从
行收到以下警告self.physicsWorld.contactDelegate = self;
分配给' id'来自不兼容的类型' PlayLevel * __ strong'
-(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。谢谢!
答案 0 :(得分:1)
您必须在头文件中添加委托引用。例如,如果我们使用UINavigationController
个委托,我们会在头文件中添加<UINavigationControllerDelegate>
。类似的,你必须添加联系代表
答案 1 :(得分:1)
您应该在类接口(内部&lt;&gt;)上声明您的类实现委托。
答案 2 :(得分:0)
在您声明PlayLevel
扩展SKScene
的标题中,您还需要声明它实现SKContactDelegate
接口,如下所示:
@interface PlayLevel : SKScene <SKPhysicsContactDelegate>