Описание тега skphysicsworld

Объект SKPhysicsWorld моделирует столкновения и другие физические свойства. Вы не создаете объекты SKPhysicsWorld напрямую; вместо этого прочтите свойство PhysicsWorld объекта SKScene.
2 ответа

Изменить размер SKPhysicsBody края и держать детей внутри

У меня большой прямоугольник SKPhysicsBody создан с SKPhysicsBody(edgeLoopFrom:...), Внутри этого физического тела куча шариков, которые подпрыгивают. Когда появляется уведомление, я показываю вид снизу экрана. Я хочу изменить размер SKPhysicsBody п…
2 ответа

Установка значений битовой маски для категории физика

Я объявляю различные категории битовой маски в моем коде следующим образом: static const uint32_t playerCategory = 1; static const uint32_t enemyCategory = 2; Моя игра работает отлично, используя эти категории. Однако различные примеры проектов и уч…
2 ответа

SKPhysicsContactDelegate не работает

У меня есть следующий код: в моей сцене: static const uint32_t enermyCategory = 0x1 << 0; static const uint32_t fatherCategory = 0x1 << 1; self.physicsWorld.contactDelegate = self; //init ship Ship *ship = [Ship getFather]; ship.position…
0 ответов

Как использовать SKPhysicsWorld без SKScene

Я программирую сервер командной строки на Swift для своей игры, которая использует симуляцию физики из SKScene. Я построил его как приложение OS X, используя контроллер представления, но я не мог понять, как перенести его в командную строку. Проблем…
23 июл '18 в 16:49
4 ответа

iOS Swift didBeginContact не вызывается

Последние два дня я изо всех сил пытался получить два узла SKSprite, чтобы зарегистрировать коллизию и вызвать ее. didBegin#contact, Я установил их битовые маскиcategoryBitMask','contactTestBitMask' а также 'collisionTestBitMaskдля обоих объектов. Я…
1 ответ

Ускорение часов в физике для спрайта

У меня есть анимация, использующая мир физики спрайтекитов. Я искал, есть ли способ "перемотать вперед" через физику и просто получить результат или путь без отображения анимации. Я смотрел на PhysicsWorld и ничего не видел для этого? Есть идеи, как…
0 ответов

Физические тела SpriteKit движутся друг через друга, несмотря на набор битовых масок столкновения

Я делаю игру, в которой используется Doodle Jump, например прыжки, в которых вы можете проходить через платформы, если вы двигаетесь вверх, но не если вы двигаетесь вниз, за ​​исключением того, что всегда есть наземная платформа. Ты никогда не сможе…
1 ответ

didBeginContact ложно срабатывает

В моей игре есть лазеры, которые стреляют вперед из точки. Я использую этот код, чтобы растянуть лазерный спрайт и переместить его для имитации движения в функции обновления: let height = size.height yScale += travelSpeed * CGFloat(time) let differe…
06 янв '17 в 19:00
1 ответ

SpriteKit - преобразование точки в координаты сцены дает неправильное значение

Я хочу преобразовать положение ячейки в координаты сцены. В настоящее время ячейка является дочерним элементом невидимого узла. Когда клетка вступает в контакт с вирусом, я получаю положение клетки. Смущает, что положение ячейки одинаково в ее коорд…
06 май '16 в 16:06
1 ответ

Почему этот вывод не соответствует?

override func didMove(to view: SKView) { ball=SKShapeNode.init(rectOf: CGSize.init(width: 10, height: 10)) ball.lineWidth=0 ball.physicsBody=SKPhysicsBody.init(rectangleOf: CGSize.init(width: 10, height: 10)) ball.position=CGPoint.init(x: 0, y: 0) s…
2 ответа

didBeginContact не вызывается Swift

Я работаю над приложением, которое, когда цвет центрального шара соответствует меньшему шару, летящему к цвету центрального шара, игрок получает очко. Поэтому, чтобы это работало, мне нужна функция didBeginContact для вызова, когда "враг" и "mainBal…
13 ноя '16 в 21:04
1 ответ

Не удается увеличить / увеличить SKSpriteNode с присоединенными SKPhysicsJoints

Я хотел бы иметь возможность "увеличивать" и уменьшать масштаб в моей игре, однако, когда я масштабирую родительский "мировой" SKNode, соединения не масштабируются соответственно, так как они должны быть добавлены в SKScene (который является корневы…
07 апр '14 в 00:02
0 ответов

Как изменить скорость физического мира для эффектов частиц в Sprite Kit?

Я создал эффекты частиц с помощью редактора, но мое приложение выполнено во всем коде (Swift). Когда я изменяю скорость физического мира, все мои физические тела замедляются просто замечательно. Но когда я превращаю свои частицы в физическое тело, о…
27 янв '17 в 04:58
1 ответ

ApplyImpulse оказывает экспоненциальное влияние на то, насколько сильно он толкает объект

В этом простом физическом моделировании есть немного странного поведения. ApplyImpulse применяется каждые 5 секунд, но каждый раз, когда это происходит, коробка поднимается еще выше, даже если для applyImpulse используется то же значение. Примерно ч…
1 ответ

Граница экрана настройки на iPad Pro 12.9 с SKPhysics

Я пытаюсь создать границу физики для iPad Pro 12.9 Вот как я это делаю: override func didMove(to view: SKView) { physicsWorld.contactDelegate = self let sceneBody = SKPhysicsBody(edgeLoopFrom: self.frame) sceneBody.friction = 0 self.physicsBody = sc…
2 ответа

Как создать силу, которая не ускоряет объекты постоянно SpriteKit Swift

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

Создание пользовательских делегатов контактов с Xamarin SpriteKit в C#

Я хотел бы переопределить функцию didBeginContact, чтобы реализовать собственную логику, когда два физических объекта в моей сцене сталкиваются. Я понимаю, как это будет сделано в Swift, сначала установив делегат контакта как сам объект сцены, а зат…
1 ответ

Могу ли я установить SKPhysicsJoint в отдельном файле.m (символ)

Я совершенно новичок в SpriteKit и кодировании в целом. Я пытаюсь настроить SKPhysicsJoint в моем файле символов.m. Тем не менее, я не могу использовать синтаксис PhysicsWorld, поскольку это не сцена. Как бы мне обойти это? У меня есть родительский …
1 ответ

Пауза SKPhysicsWorld в Sprite Kit

Вот мой pause метод: - (void)togglePaused { self.paused = !self.paused; self.physicsWorld.speed = !self.paused; } ...где self это SKScene, Причина, по которой я включаю вторую строку, состоит в том, что я заметил, что во время бездействия все мои уз…
07 апр '14 в 23:05
2 ответа

Как увеличить гравитацию с помощью оператора if

Я установил гравитацию так, чтобы в начале игры объекты падали довольно медленно, и когда игрок собирает эти предметы, я хочу, чтобы гравитация увеличивалась. override func didMove(to view: SKView) { self.physicsWorld.gravity = CGVector(dx: 0.0, dy:…
14 авг '17 в 23:09