Запуск в проблему пытаются использовать радиальные гравитационные поля в SpriteKitSpriteKit/SKPhysics radialGravityField той же категории всегда привлекает друг друга?
Я не хочу объекты одного вида (как определить по categoryBitMask привлекать друг друга)
Вот как я это делаю:
struct PhyscisCategory {
static let None : UInt32 = 0
static let All : UInt32 = UInt32.max
static let Star : UInt32 = 0b1
static let Planet : UInt32 = 0b10
}
<....>
Planet1.physicsBody!.categoryBitMask = PhyscisCategory.Planet
Planet1.physicsBody!.fieldBitMask = PhyscisCategory.Star
Planet2.physicsBody!.categoryBitMask = PhyscisCategory.Planet
Planet2.physicsBody!.fieldBitMask = PhyscisCategory.Star
Независимо от того, что я пробовал Планеты всегда взаимно притягиваются (за исключением случаев, когда я устанавливаю fieldBitMask равным 0, но они, конечно, больше не привлекают Star)! Я бы ожидать от этого 2 строк коды, которые только звезда гравитационных полей будет вести себя влияние на планетах ...
из документации:
«fieldBitMask: маски, которая определяет, какие категории физических полей могут прикладывают силы к этому физическому телу. Когда физическое тело находится внутри области объекта SKFieldNode, свойство categoryBitMask этого элемента поля сравнивается с свойством fieldBitMask этого физического тела, выполняя логическую операцию И. Если результат является ненулевым значением, эффект полевого узла применяется к физическому телу ».
Я делаю что-то неправильно?
Проблема с проблемой кажется более глубокой: я сделал несколько дополнительных тестов, и fieldBitMask кажется полностью проигнорированным, за исключением случаев, когда он установлен в 0 или все 1 .... (я нацелен на приложение ios 9 в xcode 7) – Xav
Может захотеть использовать это как обходной путь. http://stackoverflow.com/a/31502698/2158465 –
Спасибо за советы ... Работая отлично, переопределяя гравитационное поле и категориюBitMask & fieldBitMask check ... – Xav