Как создать вертикальную прокручиваемую область в SpriteKit (шаг за шагом)? - PullRequest
0 голосов
/ 16 января 2019

Context

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

enter image description here

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

  1. Встраивание элементов UIKit, таких как UIScrollView, UICollectionView или UITableView, в ваш SKScene (в этом сценарии я предполагаю, что мои элементы, упомянутые выше - изображение и метка - вместо элементов Skpritekit должны быть настроенными ячейками)

  2. Вставить элементы UIKit (как указано выше) в оверлей SKNode, расположенный в верхней части сцены

  3. Используйте SKCameraNode, чтобы "имитировать" прокручиваемое поведение, которое следует за касаниями и перемещается вдоль большей сцены (например, в 2 раза больше размера кадра - по вертикали), отображая другие элементы SpriteKit

Тем не менее, я ищу пошаговые рекомендации, основанные на:

(a) собственный опыт (например, предоставление фрагментов кода в качестве ответа и / или похожих примеров GitHub)

(b) Доступные публичные уроки (youtube / статьи)

(c) Другой формат, который вы считаете нужным

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

Заранее спасибо за ваше время и усилия. Приветствия

1 Ответ

0 голосов
/ 18 января 2019

Исходя из моего опыта разработчика игр, я рекомендую использовать SwiftySKScrollView .

SwiftySKScrollView - это вспомогательный класс для добавления UIScrollView в ваши сцены SpriteKit. Помощник автоматически переадресует нажатия кнопок на соответствующие подклассы SKScene и узла. Прост в использовании и реализации.

Кроме того, не стоит использовать SKCamera в таких играх, в том числе из опыта. Вам будет довольно сложно и сложно воспроизвести область прокрутки со всеми ее эффектами. И, наконец, SwiftySKScrollView, который является вспомогательным классом для добавления UIScrollView, будет выглядеть более плавным и естественным.

...