ios - 为什么没有设置 contactDelegate?

标签 ios sprite-kit skphysicsbody

我从行中收到以下警告

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。谢谢!

最佳答案

您应该在您的类接口(interface)(<> 内)上声明您的类实现了委托(delegate)。

关于ios - 为什么没有设置 contactDelegate?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21602976/

相关文章:

swift - 初学者 swift Sprite 工具包 - 节点碰撞检测帮助(SKPhysicsContact)

iphone - 枚举崩溃时,GyroUpdates和重新启动场景发生了变化(SpriteKit和Swift)

swift - 使用 Swift 停止一个球 Sprite 套件

swift - SKShapeNode 在我不想的时候与我的 SKPhysicsbody 发生碰撞

ios - SKNode "origin"是什么?

ios - 您可以并行运行 Xcuitests 吗?

iphone - 如何检测点击/单击 UIImageView?

iphone - 如何在 iOS 上构建缓存目录的路径?

ios - 如何从 AV Foundation 返回图像仍然捕获并将其添加到图形上下文以获取屏幕截图?

ios14 Xcode 12 - 触摸 SwiftUI 对象时 Sprite 不显示,但触摸 SKScene 时可以工作