Сопоставление объектов в игре с перетаскиванием - PullRequest
4 голосов
/ 31 марта 2012

Я занимаюсь разработкой обучающей игры, в которой я предоставляю пользователю выбор слов.Цель состоит в том, чтобы взять эти слова и упорядочить их в предложение, перетаскивая каждое слово по отдельности и размещая его по порядку в указанной области.У меня есть готовая плоскость для перетаскивания каждого слова, но я не уверен, как определить, перетащил ли пользователь свое слово в правильную позицию в предложении.идентификатор / метка для каждого слова и соответствующий идентификатор / метка для каждой плоскости.Когда эти два сталкиваются, я мог сравнить два идентификатора, и если они совпадают, считают это успешным размещением.

Мне интересно, есть ли у кого-нибудь еще лучшее решение, так как я не уверен, как лучше это сделать?

1 Ответ

1 голос
/ 31 марта 2012

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

Я предлагаю вам следующее: создайте префаб, состоящий из 2 коллайдеров (и соответствующих им игровых объектов) и одного скрипта. Один коллайдер для слова и один коллайдер правильной позиции. Сценарий будет читать откуда-то (ресурс xml, поле в редакторе и т. Д.) И применять начальную позицию для слова и позицию для коллайдера «правильная позиция». Этот сценарий также считывает другую информацию (например, само слово) и выполняет всю настройку этих объектов.

Таким образом, вы можете легко перетаскивать «сборные слова» на вашу сцену и настраивать их индивидуально.

Кроме того, вместо перетаскивания этого префаба в вашей сцене может быть внешний скрипт, который будет представлять этот «уровень» (если эта концепция применима к вашей игре ...). Идея в том, что этот скрипт может загружать префабы для этого «уровня» во время выполнения. Он может даже передать все данные для готового сценария для настройки объектов, как я уже говорил.

Я забыл сказать самое важное отличие: в этом методе вам не нужно беспокоиться об идентификаторах. Они принадлежат одному и тому же родительскому объекту GameObject, поэтому вы можете легко получить нужные объекты в сценарии.

...