Утверждение Sprite Kit не подтверждено: (typeA == b2_dynamicBody || typeB == b2_dynamicBody)

Это спросилиранее, но первоначальному спрашивающему не нужно было менять динамическое свойство, поэтому он ответил на свой вопрос, задав его.

Я использую Sprite Kit в iOS7, и я хотел бы иметь возможность изменять динамическое свойство SKPhysicsBody во время выполнения. Первоначально я менял это в своих прикосновениях Beg: метод. Кто-то на форуме Apple Dev предложил перенести изменение в метод didSimulatePhysics:, но это тоже не помогло.

Этот код вызывает ошибку:

-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event 
{
  if (!heyWereSwappingDynamismHere) 
  {
    heyWereSwappingDynamismHere = YES;
    SKNode * rope = [self childNodeWithName:@"rope"];
    SKNode * anchor = [rope childNodeWithName:@"anchor"];
    [listOfObjectsToSwapDynamic addObject:anchor];
  }
}

-(void) didSimulatePhysics 
{
  if (heyWereSwappingDynamismHere) 
  {
    for (SKNode * node in listOfObjectsToSwapDynamic) 
    {
        bool isItDynamic = node.physicsBody.isDynamic;
        node.physicsBody.dynamic = !isItDynamic;
    }
    [listOfObjectsToSwapDynamic removeAllObjects];
    heyWereSwappingDynamismHere = NO;
}

}

Ошибка, появляющаяся в отладчике:

Ошибка подтверждения: (typeA == b2_dynamicBody || typeB == b2_dynamicBody), функция SolveTOI, файл /SourceCache/PhysicsKit/PhysicsKit-4.6/PhysicsKit/Box2D/Dynamics/b2World.cpp, строка 670.

Я смотрел в другом месте, но это, кажется, проблема с реализацией (и охватом) Sprite Kit Box2D.

Может быть?

Ответы на вопрос(2)

Ваш ответ на вопрос