#ios #objective-c #sprite-kit #skphysicsbody
#iOS #objective-c #sprite-kit #skphysicsbody
Вопрос:
У меня возникла странная проблема с SKPhysicsBody, я создал игру с ios8 sdk, но полностью совместим со старым ios7. Когда я пытаюсь выполнить это на ios7, я получил сбой с ошибкой.
pathToDraw = CGPathCreateMutable();
CGPathMoveToPoint(pathToDraw, NULL, positionInScene.x, positionInScene.y);
lineNode = [SKShapeNode node];
lineNode.path = pathToDraw;
lineNode.physicsBody = [SKPhysicsBody bodyWithEdgeChainFromPath:pathToDraw]; <<crashes here
ошибка:
Assertion failed: (count >= 2), function CreateChain, file /SourceCache/PhysicsKit_Sim/PhysicsKit-6.5.4/PhysicsKit/Box2D/Collision/Shapes/b2ChainShape.cpp, line 45.
На iOS8 приложение работает отлично. Проблема возникает только на iOS 7
Ответ №1:
Ваш путь содержит только одну точку. Поскольку это сбой только в iOS 7, я бы предположил, что iOS 8 рассматривает это как особый случай и, предположительно, завершает путь, используя положение узла в качестве другой точки. Независимо от этого, если вы хотите сделать его совместимым с iOS 7, вам всегда придется создавать путь с двумя точками.