2013-11-20 3 views
7

Создание игры с SpriteKit и ее разработка очень хорошо. Я использую физику и имею возможность видеть, на самом деле, где мои тела, потому что у меня может быть какая-то альфа внутри моих спрайтов, действительно будет полезно. Это также будет полезно для создания более точных тел.Нарисуйте цвет вашей SKPhysicsBody

В документации для SpriteKit рассказывается о debugOverlay, но единственным примером, который они дают, является рисование направления тяжести. Вот ссылка: https://developer.apple.com/library/ios/documentation/GraphicsAnimation/Conceptual/SpriteKit_PG/Actions/Actions.html

Прокрутите страницу до области отладки.

Кто-нибудь написал код, который может легко получить доступ к телу всех объектов в сцене и нарисовать их точный размер и разместить их там, где они должны быть в корреляции? Я очень удивлен, что яблоко не просто добавило какое-то свойство DrawGizmos в физическое тело.

Заранее спасибо.

+0

http://www.codeandweb.com/physicseditor/spritekit Это не ответ на вопрос, но такой инструмент, безусловно, поможет привлечь правильное физическое тело! – Krzemienski

ответ

1

Это номер RW tutorial книга.

- (void)attachDebugRectWithSize:(CGSize)s { 
    CGPathRef bodyPath = CGPathCreateWithRect(CGRectMake(-s.width/2, -s.height/2, s.width, s.height),nil); 
    [self attachDebugFrameFromPath:bodyPath]; 
    CGPathRelease(bodyPath); 
} 

- (void)attachDebugFrameFromPath:(CGPathRef)bodyPath { 
    //if (kDebugDraw==NO) return; 
    SKShapeNode *shape = [SKShapeNode node]; 
    shape.path = bodyPath; 
    shape.strokeColor = [SKColor colorWithRed:1.0 green:0 blue:0 alpha:0.5]; 
    shape.lineWidth = 1.0; 
    [self addChild:shape]; 
    } 

Чтобы использовать это на узле,

[mySpriteToDebug attachDebugRectWithSize:contactSize]; 
+0

Спасибо, ты порекомендовал книгу собираться купить ее прошлой ночью. – Krzemienski

+0

Если вы сделали все учебники RW на своем веб-сайте и все еще хотите больше, то да. – DogCoffee

32

Я уверен, что вы давно ответили на ваш вопрос, но из прошивки 7.1 теперь можно использовать:

skView.showsPhysics = YES;

Это работает намного лучше, чем YMCPhysicsDebugger. YMCPhysicsDebugger также больше не поддерживается.

+2

Это должен быть правильный ответ для iOS 8. – aramusss

Смежные вопросы