2016-09-01 2 views
0

У меня есть несколько изображений, которые могут обнаружить, когда они получают прикоснулись прямо сейчас я используюSwift Sprite-комплект SKPhyshicsBody

plane.physicsBody = SKPhysicsBody(circleOfRadius: plane.frame.height/2) 

, но мне это нужно, так это граница изображения не круг или прямоугольник.

+0

Что вы хотите от этого сделать? – Knight0fDragon

+0

Я хочу, чтобы он фиксировал размер назначенного ему изображения, это сложный объект 2d, что круг и прямоугольник не соответствуют его точному размеру. Поэтому мне нужно, чтобы физика соответствовала точному размеру изображения @ Knight0fDragon – shane

+1

, затем используйте SKPhysicsBody (текстура :), если ваш спрайт состоит из нескольких узлов, создайте из него текстуру через view.textureFromNode – Knight0fDragon

ответ

0

У нас есть самолет, и вы хотите физическое тело. Ваш первый подход - circleOfRadius (физическое представление представляет собой круг с заданным радиусом). Вы можете использовать другую форму, такую ​​прямоугольника:

plane.physicsBody = SKPhysicsBody(rectangleOfSize: CGSizeMake(100, height: 100)) 

Как объяснен в комментариях вы можете также использовать форму спрайта (текстуры), чтобы создать форму тела физики:

plane.physicsBody = SKPhysicsBody(texure: plane.texture!, size: plane.size) 

Но хороший способ выбрать это: если вы хотите, чтобы ваша игра бегала на разных устройствах, не делайте так, чтобы вычисления физики стали слишком сложными. Другими словами, если у вас много объектов вокруг вашего самолета, когда физическое поведение перемещается и сталкивается друг с другом, вы можете использовать упрощенные формы для более эффективного управления физикой, особенно если форма уже много напоминает прямоугольник или круг.

+0

ok Итак, я использовал эту строку кода раньше с текстурой, но если она касается чего-то, что моя текстура начинает вращаться, способ установить плоскость неподвижной при столкновении, чтобы она не вращалась, она остается неизменной при запуске? @Alessandro Ornano – shane

+0

Вы можете включить skView.showPhysics = true, чтобы узнать, правильны ли эти размеры в физике. –

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