Nano Hash - криптовалюты, майнинг, программирование

Создание гладкой плоской поверхности из нескольких блоков в Spritekit

Я пытаюсь написать игру для iOS с помощью Spritekit и Swift, и это мой первый вопрос в stackoverflow :)

Чтобы упростить мою проблему и мои ограничения, скажем, у меня есть два прямоугольных SKShapeNodes (мой уровень) с одинаковой высотой, которые полностью расположены рядом, с физическими телами, но не динамическими. Герой — это просто квадратный SKShapeNode с динамическим физическим телом, которое может перемещаться поверх этих прямоугольников. Игрок использует акселерометр для перемещения героя.

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

Есть ли обходной путь, чтобы сделать поверхность между двумя прямоугольниками более «плоской»/гладкой, зная, что я не могу объединить их для целей игры?

(Вещи, которые я пробовал, но не сработали: «уровнять» все измерения, позиции до ближайших значений Int; сделать физическое тело героя более круглым; включить/отключить точные столкновения).

Спасибо!

26.05.2015

  • Добро пожаловать в StackOverflow. Если возможно, попробуйте предоставить объяснение изображения (скриншот, gif и т. д.), чтобы мы могли лучше понять вашу проблему. В любом случае, это похоже на призрачную вершину. Ваша проблема похожа на ту, что по ссылке? 26.05.2015
  • Спасибо Тиаго! :) Я считаю, что это точно такая же проблема, как и у меня. Я должен быть в состоянии реализовать обходной путь или узнать больше об этом, благодаря вам :) 26.05.2015
  • Обычное решение этой проблемы состоит в том, чтобы сделать нижнюю часть физического тела вашего героя круглой. Например, вы можете создать физическое тело из прямоугольника и круга и поместить круг так, чтобы он проходил за нижнюю часть героя. 27.05.2015

Ответы:


1

Самое простое решение этой проблемы — создать круглое физическое тело для движущегося объекта вместо прямоугольника. При необходимости вы также можете комбинировать 2 или более физических тел, чтобы более точно покрыть высоту объекта. См. использование (SKPhysicsBody *)bodyWithBodies:(NSArray *)bodies в документы.

Объедините 2 тела с кругом внизу:

введите здесь описание изображения

26.05.2015
Новые материалы

Кластеризация: более глубокий взгляд
Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

Как написать эффективное резюме
Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

Частный метод Python: улучшение инкапсуляции и безопасности
Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

Как я автоматизирую тестирование с помощью Jest
Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..