Как сделать спрайт из фото
Перейти к содержимому

Как сделать спрайт из фото

  • автор:

CSS-спрайты

CSS-спрайт – способ объединить много изображений в одно, чтобы:

  1. Сократить количество обращений к серверу.
  2. Загрузить несколько изображений сразу, включая те, которые понадобятся в будущем.
  3. Если у изображений сходная палитра, то объединённое изображение будет меньше по размеру, чем совокупность исходных картинок.

Рассмотрим, как это работает, на примере дерева:

Сейчас «плюс», «минус» и «статья» – три отдельных изображения. Объединим их в спрайт.

Шаг 1. Использовать background

Первый шаг к объединению изображений в «спрайт» – показывать их через background ., а не через тег IMG .

В данном случае он уже сделан. Стиль для дерева:

.icon < width: 16px; height: 16px; float: left; >.open .icon < cursor: pointer; background: url(minus.gif); >.closed .icon < cursor: pointer; background: url(plus.gif); >.leaf .icon

Шаг 2. Объединить изображения

Составим из нескольких изображений одно icons.gif , расположив их, например, по вертикали.

Из , и получится одна картинка:

Шаг 3. Показать часть спрайта в «окошке»

А теперь самое забавное. Размер DIV для иконки – жёстко фиксирован:

/*+ no-beautify */ .icon

Это значит, что если поставить в качестве background объединённую картинку, то вся она не поместится, будет видна только верхняя часть:

Если бы высота иконки была больше, например, 16×48 , как в примере ниже, то было бы видно и остальное:

…но так как там всего 16px , то помещается только одно изображение.

Шаг 4. Сдвинуть спрайт

Сдвиг фона background-position позволяет выбирать, какую именно часть спрайта видно.

В спрайте icons.gif изображения объединены так, что сдвиг на 16px покажет следующую иконку:

/*+ no-beautify */ .icon < width: 16px; height: 16px; float: left; background: url(icons.gif) no-repeat; >.open .icon < background-position: 0 -16px; /* вверх на 16px */ cursor: pointer; >.closed .icon < background-position: 0 0px; /* по умолчанию */ cursor: pointer; >.leaf .icon < background-position: 0 -32px; /* вверх на 32px */ cursor: text; >
  • В спрайт могут объединяться изображения разных размеров, т.е. сдвиг может быть любым.
  • Сдвигать можно и по горизонтали и по вертикали.

Отступы

Обычно отступы делаются margin/padding , но иногда их бывает удобно предусмотреть в спрайте.

Тогда если элемент немного больше, чем размер изображения, то в «окошке» не появится лишнего.

Пример спрайта с отступами:

Иконка RSS находится в нём на координатах (90px, 40px) :

Это значит, для того чтобы показать эту иконку, нужно сместить фон:

background-position: -90px -40px;

При этом в левом-верхнем углу фона как раз и будет эта иконка:

Элемент, в котором находится иконка (в рамке), больше по размеру, чем картинка.

/*+ no-beautify */ .rss < width: 35px; /* ширина/высота больше чем размер иконки */ height: 35px; border: 1px solid black; float: left; background-image: url(sprite.png); background-position: -90px -40px; >

Если бы в спрайте не было отступов, то в такое большое «окошко» наверняка влезли бы другие иконки.

Итого

Когда использовать для изображений IMG , а когда – CSS background ?

Решение лучше всего принимать, исходя из принципов семантической вёрстки.

Задайте вопрос – что здесь делает изображение? Является ли оно самостоятельным элементом страницы (фотография, аватар посетителя), или же оформляет что-либо (иконка узла дерева)?

Элемент IMG следует использовать в первом случае, а для оформления у нас есть CSS.

  1. Сократить количество обращений к серверу.
  2. Загрузить несколько изображений сразу, включая те, которые понадобятся в будущем.
  3. Если у изображений сходная палитра, то объединённое изображение будет меньше по размеру, чем совокупность исходных картинок.

Если фоновое изображение нужно повторять по горизонтали или вертикали, то спрайты тоже подойдут – изображения в них нужно располагать в этом случае так, чтобы при повторении не были видны соседи, т.е., соответственно, вертикально или горизонтально, но не «решёткой».

Далее мы встретимся со спрайтами при создании интерфейсов, чтобы кнопка при наведении меняла своё изображение. Один спрайт будет содержать все состояния кнопки, а переключение внешнего вида – осуществляться при помощи сдвига background-position .

Создание спрайтов

Теперь, когда вы знаете, что такое программа, пришло время рассмотреть некоторые из различных активов , которые могут быть использованы в GameMaker для создания вашей игры. Для начала мы рассмотрим спрайты, которые, как правило, являются одним из первых ресурсов, необходимых при создании любого проекта. Как объясняется в разделе » Браузер активов», sprite — это изображение, которое может быть анимировано (хотя это не обязательно), а затем нарисовано на экране. хотя это и не обязательно), а затем нарисованное на экране. Обычно sprite ассоциируется с объектом, но вы можете рисовать sprites самостоятельно, либо из кода, либо в редакторе комнат Asset Layer (мы поговорим об этом подробнее позже, в разделе о комнатах). Вы также можете создать sprite для использования в качестве комплекты плитки, но этот вариант мы также рассмотрим в одном из следующих разделов.

Когда вы создаете новый проект со Стартовой страницы, в браузере активов будут только пустые папки для ресурсов, которые могут вам понадобиться, поэтому вам нужно щелкнуть правой кнопкой мыши на папке активов sprite и выбрать опцию Создать (если у вас нет папки активов sprite , вы можете создать ее из меню правой кнопки мыши, а затем создать sprite , или вы можете просто щелкнуть правой кнопкой мыши в любом месте браузера активов и создать ее). и создать его). Это создаст новый актив sprite и откроет папку редактор спрайтов (если редактор sprite не открывается, просто дважды щелкните на новом активе):

Как вы можете видеть, в верхней левой части окна есть поле для имени sprite . Все sprites (и все другие активы) должны иметь чтобы вы (и GameMaker ) могли легко их идентифицировать, хотя вы должны заметить, что это имя на самом деле просто переменная который содержит значение идентификатора которое «указывает» на ресурс, в данном случае sprite . Лучше всего дать каждому sprite описательное имя, чтобы вы могли с первого взгляда определить, является ли конкретный актив sprite или объектом, или чем-то еще, и многие люди делают это префиксом или суффиксом ресурса с буквами » spr » — например, » spr_Ball «. Обратите внимание, что имена ресурсов ограничиваются использованием только букв, цифр и символа подчеркивания символ «_», а название всех ресурсов должно начинаться с буквы, а не с цифры.

Другие возможности редактора sprite мы обсудим в конце этого раздела, но сначала нам нужно объяснить, как нарисовать sprite . Это делается в программе Редактор изображений. Изображение редактор изображений — это очень мощный инструмент для создания графики в вашей игре, который открывается нажатием кнопки Редактировать изображение .

Icon RMB

Мы не будем слишком углубляться в доступные здесь инструменты — для этого есть раздел руководства «Редактор изображений», — но вкратце у вас есть:

  • В левом верхнем углу находится вид рамки — здесь отображается рамка (рамки) вашего sprite , размер которой можно изменить с помощью значков лупы.
  • В центре находится холст для рисования — на нем отображается выбранная рамка, готовая к рисованию, и вы можете использовать среднюю кнопку мыши для панорамирования и колесико мыши для увеличения или уменьшения масштаба.
  • В правом верхнем углу находятся основные кисти — здесь вы можете выбрать кисть для рисования, и любые пользовательские кисти также будут добавлены сюда.
  • В центре справа находится окно выбора цвета — здесь мы можем выбрать цвет для левой и/или правой кнопки мыши, поскольку рисовать на холсте можно одновременно одной или другой кнопкой.
  • Сразу под выбором цвета находятся инструменты — это различные инструменты рисования, включая кисть, заливку, маскировку и инструменты для создания фигур. Обратите внимание, что некоторые из инструментов разделены по диагонали и рисуют либо очерченные, либо заполненные в зависимости от того, на какой стороне линии вы нажмете, чтобы выбрать их.
  • В правом нижнем углу находится вид слоев — как и во многих других инструментах рисования, вы можете создавать различные слои для рисования, что позволяет вам экспериментировать с расположением, цветом и т.д., не беспокоясь о разрушении того, что находится под слоем. то, что находится под ним.

Нарисуйте что-нибудь в редакторе изображений и некоторое время поиграйте с опциями, затем, когда вы будете готовы, закройте рабочую область редактора изображений (при этом изображение будет сохранено), чтобы вернуться к основной рабочей области с редактором sprite . Мы обсудим несколько других возможностей редактора sprite , которые важно знать, когда вы только начинаете работать.

Первое, что вам нужно знать, это как установить начало координат для sprite . Начало координат — это просто точка, которая будет использоваться для «привязки» нашего sprite в комнате, и в данном случае мы хотим установить ее в центре.

Итак, щелкните в нисходящем меню для установки начала координат и выберите «середина — центр»:

LMB Icon

Вы увидите, как синий маркер начала координат на изображении предварительного просмотра переместится в центр sprite . Обратите внимание, что вы можете разместить начало координат в любом месте, просто щелкнув на изображении предварительного просмотра. можно также вручную ввести положение начала координат, добавив значения в поля x/y вверху.

Еще одна важная вещь, которую необходимо знать, — как установить маску столкновений для sprite . Маска столкновений — это область, которую GameMaker будет проверять на предмет столкновения с любым другим объектом в игре, По умолчанию она установлена на прямоугольник (что также является самым быстрым решением). Обратите внимание, что вы можете установить режим обнаружения для параметра ограничительная рамка быть либо автоматическим (значение по умолчанию) или вручную. Если вы выберете ручной режим, вы сможете установить значения ограничивающей рамки слева, справа, сверху и снизу.

The Sprite Editor

Любой тип маски столкновений, кроме прямоугольника, будет решаться медленнее, но при создании небольшой, простой игры это обычно не является проблемой. Обратите внимание, что вы также можете импортировать sprites , сделанный в других программах, нажав на кнопку Import в редакторе GameMaker. sprite редактора, а также вы можете перетащить файлы изображений на GameMaker IDE , чтобы добавить их как sprites в Asset Browser. Вы также можете перетащить sprites из браузера активов, чтобы добавить их непосредственно к объектам, в этом случае на IDE будут выделены места, куда можно добавить . места, в которые можно добавить sprite :

Если вы хотите получить более подробную информацию о редакторе Sprite и редакторе изображений, обратитесь к следующим разделам руководства:

  • Редакторы: Редактор Sprite
  • Редакторы: Редактор изображений

Теперь вы можете закрыть редактор sprite , поскольку мы собираемся перейти к обсуждению наборов плиток.

Справка:Создание спрайтов

CSS позволяет применять в себе атласы спрайтов. Несколько изображений располагаются в одном графическом файле. Далее, чтобы разложить его на несколько изображений, применяется ограничение размеров изображения по размеру одного спрайта в атласе, и сдвиг background-position атласа на значение, кратное высоте изображения. Таким образом, один файл может обеспечить иконками весь сайт. CSS-спрайты экономят трафик и ускоряют загрузку — браузеру потребуется запрашивать меньше файлов. Википедия

Помимо вышесказанного, спрайт позволяет упростить загрузку и изменение файлов на Hilarious Wiki. Позиция элемента в спрайте определяется модулем спрайт, но данный модуль работает только с элементами одинакового размера, что идеально подходит для Minecraft Wiki так как Grid изображения имеют размер 32x32px.

Для того, чтобы создать спрайт, потребуется скриншот объекта в инвентаре(это могут быть блоки и предметы), любой редактор изображений поддерживающий прозрачность. Самые популярные примеры это Photoshop или GIMP.

Размер изображения

  • 512×512 (32х32) — для любых Grid изображений.
  • 256×256 (16х16) — для плоских изображений, обычно используются в шаблонах навигации.

Создание спрайта

Процесс создания спрайта разделен на два этапа, первый это создание самого спрайтового изображения, второй загрузка спрайтового изображения на Hilarious Wiki и обозначение позиций объектов.

Создание изображения

Шаг 1

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

Шаг 2

Пример ячеек с розовым фоном

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

В случае если у элементов остались дыры они станут заметны, если всё в порядке то можно приступать к вырезанию. Обратите внимание на то что вырезать нужно изображение с розовым фоном размером ровно 32х32, прозрачный фон не допустим так как предмет или блок имеет свое позиционирование в слоте, а с прозрачным объектом вам не удастся правильно выставить Grid изображение в спрайте.

Шаг 3

Пример результата с вырезанными элементами спрайта

Пример результата без фона у элементов и с отключенной сеткой

Теперь можно приступить непосредственно к вырезанию Grid изображений. Создайте новый документ нужного размера залейте его фоном серого цвета в шахматном порядке пример фона. Не забудьте поставить на первую позицию изображение по умолчанию. Его вариант в формате PNG размером 32х32.

После вырезки и размещения всех элементов следует объединить слои с элементами в один и удалить розовый фон. Также необходимо отключить отображение слоя с серым фоном в шахматном порядке. Экспортируйте изображение в формате PNG. При загрузке файла на Minecraft Wiki файл следует именовать следующим образом НазваниеФайлаCSS.png Также необходимо добавить файл в категорию спрайтовые изображения. Пример созданного файла.

Настройка спрайта

Шаг 1

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

Ниже в таблице приведён список страниц и их назначение. В качестве примера указанны ссылки на спрайт с Grid изображениями для модификации Blood Magic.

Название Описание Имя страницы
Параметры Содержит такие параметры как размер изображения, размер одного элемента, изображение спрайта и др. Модуль:ИнвСпрайт/Blood Magic
Список идентификаторов Содержит список позиций и названий. Модуль:ИнвСпрайт/Blood Magic/ID
Шаблон спрайта Для Grid изображений не имеет функционала, так как спрайт вызывается через шаблон > . На странице документации шаблона спрайта находится список всех доступных объектов. Шаблон:ИнвСпрайт/Blood Magic
Шаг 2

Теперь остаётся только задать позиции. Ниже в таблице есть содержимое для копирования.

return < ["имя"] = "Blood Magic", ["IDы"] = "ИнвСпрайт/BloodMagic/ID", ["изобр"] = "BloodMagicCSS.png", ["формат"] = 512, ["разм"] = 32, ["таблстилей"] = false >
return < ["разделы"] = < , >, ["IDы"] = < [""] = , > >

Генератор спрайтов онлайн

Избегайте ненужных HTTP-запросов. Наш онлайн-генератор спрайтов объединит ваши изображения, сделав ваш сайт быстрее и эффективнее».

Простота в каждом клике

Забудьте о сложных инструментах. Сервис генерации CSS-спрайтов создан для удобства. Загрузите изображения, получите спрайт и соответствующий CSS.

Ускорьте свой сайт

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

Эффективное решение для дизайнеров

Сервис генерации спрайтов – ваше решение для быстрого и эффективного создания дизайна сайта. Все ресурсы под рукой, без потери времени.

Максимальная производительность, минимум усилий

Поднимите производительность вашего сайта на новый уровень с помощью нашего генератора CSS-спрайтов. Эффективность и скорость без дополнительных затрат.

Мгновенные результаты

Не тратьте время на создание спрайтов вручную. Наш сервис предоставит вам готовое решение за считанные секунды. Высокая точность и качество гарантированы.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *