Для начала, давайте убедимся, что Вы точно поняли, как это тип может использоваться. Если сомневаетесь или забыли, почитайте описание типа. Там же есть ссылки на примеры тренажёров этого типа.
Конкретно по типу «НЛО», в котором уже сформирован интерфейс, возможностей для работы две:
В основе приложения лежит физическая модель Box2D. Соответственно, иллюстрации должны быть адекватны модели, чтобы не возникало таких ситуаций как отскок блока после удара о что-то невидимое, большие зазоры между элементом конструкции и блоком, который на ней покоится и т. п.
Скачайте nlo-design.rar, в котором находится PSD-файл с примечаниями.
Большой зеленый многоугольник не участвует в соударениях, поэтому на него можно не ориентироваться в дизайне. Он используется только для детектирования нахождения блоков в пределах чаши. А вот остальные зеленые элементы конструкции – важные части, о них будет чуть ниже.
Тип «НЛО» не имеет адаптивного дизайна (в первую очередь по причине наличия физической модели), поэтому мы просто ориентируемся на какие-то минимальные размеры экрана. Поскольку мы взяли за основу XGA (1024✕768) и подразумеваем мобильные устройства, то значимые части дизайна должны вписываться в эти размеры в обоих ориентациях. Кроме того, приложение работает в браузере и не обязательно в полноэкранном режиме, поэтому, с учётом типичных размеров шапок и тулбаров браузеров, мы остановились на 760✕630. Эта область отмечена гайдами (вертикальные на 225 и 855 и горизонтальные на 580 и 1340) в файле макета.
С другой стороны, экраны могут быть существенно больше. На сегодня мы ограничиваемся сверху размером WUXGA (1920✕1200) и предполагаем его в ландшафтной ориентации. Поэтому, если дизайн не «бесконечный», то можно его «обрезать» по этому размеру.
Например, тема «Бамбук» типа «Кокла» обрезана именно так, а тема «Фабрика» сделана так, что максимальный размер не имеет значения.
Дизайн чаши тесно связан с двумя вещами:
Внешние контуры геометрии физической модели определяют те линии, о которые будут ударяться блоки при падении и сквозь которые их нельзя протащить пользователю. Соответственно, внутренние поверхности верхней части чаши играют ту же роль. А вот внутренние поверхности той части где выводится формулировка вопроса – не важны. В дефолтной теме чаша стоит на двух ногах, а текст вопрос висит в воздухе. Но эта часть может быть и сплошной в Вашем дизайне.
На конструкции чащи могут быть декоративные элементы, которые не соответствуют физической модели. Например, бамбуковые стволы соответствуют модели, и блоки о них ударяются, а листья – нет, и блоки проходят за ними.
В принципе, мы можем внести небольшие корректировки в геометрию физической модели под Ваш дизайн (и тогда модель будет немного различаться в разных темах). Но это нужно будет согласовать – что-то можно сделать, что-то сложно, а что-то и не получится.
Основное задание формулируется в стартовом диалоговом окне, однако у каждой группы блоков может быть дополнительное, уточняющее задание или название группы (если учитель подсказывает ученику критерий группировки). Выше уже упоминался размер области текста – 350✕65. Также следует отметить, что при смене групп эта область анимируется, однако это можно отключить, если не будет соответствовать Вашему дизайну.
Блоки-слова размером 135✕60 (с учётом border 2 и padding 2 область текста 127✕52). Можно стилизовать блоки (цвета заливки, рамки и шрифта или текстура). Скругление углов нужно оставить. Нельзя делать разные блоки в одной группе. При большом желании можем сделать несколько разных оформлений, рандомно выбираемых для разных групп.
Шрифт: 'Trebuchet MS', sans-serif, 'Meiryo', 'MS PGothic'. Trebuchet MS есть практически везде, а на Android sans-serif приводит к использованию Roboto.
Желательно не использовать другие шрифты для контента (задания, диалоги, вопросы, ответы). Но можно для декоративных нужд (хотя скорее всего потом в кривые и в svg).
Шрифт по умолчанию 17px, однако учитель при конструировании может задать коэффициент масштабирования (раздельно для области текста вопроса и области текста на блоках): 85% - 250%
Размеры окна меньше делать нельзя, поскольку оно рассчитано под максимальное количество контента: картинка-помощь на старте и текст задания. Больше делать тоже особо нельзя, поскольку впритык по минимальному полю 760✕630. Можно стилизовать форму, контур, разумеется можно менять цвет. Следует только помнить о его сочетаемости с текстом и картинкой-помощью. Например, в теме «Фабрика» типа «Кокла» подобное окно было оформлено в виде облака пара с непрозрачными областями в той части, где текст и картинка-помощь.
А вот где окно используется:
В случае изменения оформления диалогового окна и/или блоков может потребоваться скорректировать также и элементы в этих вариантах окна (цвета заливки и текста).
Кнопка «ОК» – «фейковая», просто надпись. Всё окно реагирует на click/touch целиком. Соответственно, не требуется прорабатывать состояния hover/active/focus.
Настроек в этом типе нет, однако окно настроек используется для демонстрации ссылки на инфо-страницу экземпляра тренажёра. Единственное о чём дизайнеру тут может потребоваться задуматься – цвет текста ссылки (его сочетание с заливкой окна).
Кнопка «настоящая», с hover, но без active/focus. Стараемся, чтобы её пиктограмма была узнаваема от типа к типу, везде используем что-то типа зубчатого колеса, гаечного ключа, т.е. интуитивно понятное. Важно отметить, что в типе «НЛО» пользователь работает с drag-and-drop, поэтому не должно быть активных объектов на переднем плане, которые попадут под мышь в процессе перетаскивания. Исключение – тарелка НЛО, хотя она в общем-то сейчас и не активна (планируем повесить на неё повторный вывод стартового диалога). А кнопку настроек мы спрятали под чашу, где перетаскивание наименее вероятно. Учитывайте это, если захотите её подвинуть. Наша рекомендация – оставить, но при необходимости стилизовать в духе Вашего дизайна.
Сразу скажем, что не обязательно заморачиваться на тарелке. НЛО – это в первую очередь «неправильные и лишние объекты» и только потом – тарелка. Поэтому, если хотите, например, вместо тарелки гигантский раструб пылесоса, который засасывает блоки – давайте!
Но кое-что насчёт тарелки.
Первый важный момент – конус света, который виден при затягивании объектов. Важный момент, что объекты исчезают, не долетая тарелки. Вот это так и останется. А конус света в случае, например, пылесоса, не нужен. Но можем добавить какие-то элементы, которые будут визуализировать активность пылесоса. Например, внизу будут как-то тянуться и дребезжать травинки или кустики. Ну, условно. Для примера. Если там будет чему дребезжать и тянуться.
И да, блоки выпадают не из тарелки, а из-за верхней «ширмы» в виде облаков. Соответственно там тоже нужно что-то придумать.
Второй момент – «отчаливание» тарелки в финале. Это вообще не обязательно. Особенно в случае с пылесосом.
Облака и волны выполняют роль своеобразных «ширм». Они нужны для того, чтобы объекты не появлялись из воздуха и не исчезали в нём. Увы, не получилось нормально группировать объекты в тарелку, поэтому в этом случае они всё-таки растворяются в воздухе. Но в остальных случаях – сверху и снизу – есть вот эти вот «ширмы». А по бокам – не столь важно.
Если переделываете дизайн активно, то придумайте что-нибудь для них.
Лучше вектор, хотя зависит от самого дизайна. Если Вы мало или никогда не рисовали для приложений, делайте всё в векторе, слоями, объектами. Что-то придётся двигать, что-то может плавать адаптивно.
Пишите! Мы на связи.