Ios 雪碧套件与xcode重叠滞后

Ios 雪碧套件与xcode重叠滞后,ios,objective-c,xcode,sprite-kit,collision,Ios,Objective C,Xcode,Sprite Kit,Collision,所以我只是想了解一下Sprite工具包是如何工作的,有一件事我不明白,为什么我的演示会在同一个Sprite的多个版本相互重叠时出现延迟 基本上,我做的是创建一个继承SKSpriteNode的类,并在init上设置以下属性 marioCategory = 1 << 1; wallCategory = 1 << 2; platformCategory = 1 << 3; self.physicsBody = [SKPhysicsBo

所以我只是想了解一下Sprite工具包是如何工作的,有一件事我不明白,为什么我的演示会在同一个Sprite的多个版本相互重叠时出现延迟

基本上,我做的是创建一个继承SKSpriteNode的类,并在init上设置以下属性

    marioCategory = 1 << 1;
    wallCategory = 1 << 2;
    platformCategory = 1 << 3;
    self.physicsBody = [SKPhysicsBody bodyWithRectangleOfSize:self.size];
    self.physicsBody.density = 1.0;
    self.physicsBody.angularDamping = 0.0;
    self.physicsBody.linearDamping = 0.0;
    self.physicsBody.friction = 0.0;
    self.physicsBody.categoryBitMask = marioCategory;
    self.physicsBody.collisionBitMask =  platformCategory ;
    self.physicsBody.contactTestBitMask =   wallCategory  ;
    self.physicsBody.dynamic = YES;
    self.physicsBody.allowsRotation = NO;
    self.physicsBody.restitution = 0;
    self.name = @"Mario";

你在联系人代理方法中记录了什么吗?当两个Mario重叠时,代理方法甚至不会被调用,只有当它撞到墙上时才会被调用,这就是我想要的——有很多“多个版本”同时重叠?我在屏幕上有30个,但很难判断延迟是何时发生的,看起来当大约6个或更多的精灵相互重叠时,我刚刚看了它,当屏幕上有14个精灵,两组7个精灵重叠时,滞后是很糟糕的
    node.position = CGPointMake(x, y);
    node.physicsBody = [SKPhysicsBody bodyWithRectangleOfSize:node.size];
    node.physicsBody.angularDamping = 0.0;
    node.physicsBody.linearDamping = 0.0;
    node.physicsBody.friction = 0.0;
    node.physicsBody.affectedByGravity = NO;
    node.physicsBody.categoryBitMask = platformCategory;
    node.physicsBody.collisionBitMask = 0  ;
    node.physicsBody.contactTestBitMask = 0 ;
    node.physicsBody.dynamic = NO;