Как добавить материалы к скрипту

В основу материала положена статья Lizzie Stark, Elin Nilsen and Trine Lise Lindahl. Прочитать статью на английском языке можно здесь.

Что такое скрипт?

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

Для чего нужен скрипт?

  • Скрипт позволяет провести игру не только ее авторам, но и всем желающим, так как грамотно составленный скрипт служит инструкцией по ее проведению и организации.
  • Скрипт помогает сохранить игру. Скрипт позволяет вернуться к игре позже, чтобы что-либо доделать или переделать.
  • Написание скрипта позволяет авторам игры взглянуть на игру «извне», получить чье-либо мнение или критику: часто то, что написано, не похоже на то, что мы произносим вслух.
  • Если у игры есть скрипт, то она имеет возможность быть проигранной много раз совершенно разными людьми.

Что нужно указать в скрипте?

Unity урок, Изменение параметров материала через скрипт

Укажите в описании общее виденье игры, ее цель и задачи. Опишите сюжет, а также сеттинг игры.

Пример: «Игра «The Touch Of Your Voice» была написана командой ларперов в рамках проекта Larp Exchange Academy в Осло в апреле 2013 года. Данная игра посвящена проблеме взаимодействия и общения людей, которые либо были слепыми с детства, либо стали такими. Игра рассчитана на 7 участников. Длительность игры — 3 часа.»

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

Укажите основные правила игры, включая правило «Stop/break».
Заслуживает упоминания то, что может «сломать» игру или сделать ее проигрыш невозможным.
Пример: «В «Танго для двоих» каждый персонаж отыгрывается 2 игроками – один играет Оно, другой – Я. Вместе они образуют индивид (от англ. Individual – неделимый).»

Пример: «Пол игрока. В реальности не было батальонов, укомплектованных женщинами, но в этой игре предлагается отступить от истории и не обращать внимание на пол игрока. Для игры это не существенно.»

  1. Подробное описание каждого элемента игры

Опишите в подробностях (желательно с указанием временных интервалов) всю игру, включая воркшопы (если есть) до игры и дибрифинг или упражнения после игры.

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

Скачать текст в формате pdf — Как написать скрипт игры.

Источник: larpstudio.wordpress.com

Как добавить свой материал? | Roblox Studio

Добавить кастомный js-код на сайт (различные метрики и др.)

Довольно часто у владельцев сайтов возникает потребность разместить на сайте кастомный js-код. Это могут быть различные метрики или вспомогательные скрипты. Рассмотрим наиболее популярные варианты.

Способ 1: кастомный блок

  1. Идем в «Схему блоков -> Пользовательские блоки»
  2. Создаем новый блок
  3. Переключаем редактор в режим «источник» и размещаем код
  4. Идем в «Схему блоков» и размещаем блок в регион

Плюсы данного метода:

  • Прост как 5 копеек, любой контентщик/сайтбилдер справится

Минусы данного метода:

  • Скрипты, добавленные таким образом, не будут сжиматься (агрегироваться). При большом обилии таких скриптов не ждите 100 баллов в google pagespeed
  • Контентщик/сайтбилдер может случайно удалить блок и скрипт пропадет (были такие случаи)
  • Некоторые форматы ввода или визуальные редакторы могут съедать код.

Способ 2: правка шаблона темы оформления

  1. Идем в каталог с шаблонами темы оформления
  2. Редактируем шаблон, например html.html.twig
  3. Добавляем в шаблон необходимый код

Плюсы данного метода:

  • Возможность быстро добавить скрипты на все страницы сайта и не переживать что контентщик/сайтбилдер случайно удалит их

Минусы данного метода:

  • Скрипты, добавленные таким образом, не будут сжиматься (агрегироваться). При большом обилии таких скриптов не ждите 100 баллов в google pagespeed
  • Контентщик/сайтбилдер не сможет самостоятельно добавить/удалить эти скрипты без привлечения разработчика

Способ 3: модуль интеграции

  1. Ищем на https://drupal.org необходимый модуль интеграция
  2. Устанавливаем и настраиваем его

Плюсы данного метода:

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

Минусы данного метода:

  • Он всего один. Модуля-интеграции для вашего скрипта может и не быть

Способ 4: программный

  1. Описываем наш .js файл в файле MYTHEME|MYMODULE.libraries.yml
  2. Включаем его на нужных страницах добавив [ ‘#attached’ ] [ ‘library’ ] [ ] =. в любом удобном хуке.

Плюсы данного метода:

  • Скрипты, добавленные таким образом, будут сжиматься (агрегироваться)
  • Можно очень тонко настроить на каких страницах скрипт будет подключаться

Минусы данного метода:

  • Нужно немножко уметь программировать (или хотя бы копипастить) на PHP.

Способ 5: Google Tag Manager

  1. Ставим Google Tag Manager (хоть этим модулем или этим, хоть в теме)
  2. И уже там добавляем все скрипты без программиста и затрагивания кода сайта.

Плюсы данного метода:

  • Контентщик/сайтбилдер сможет самостоятельно добавить/удалить эти скрипты без привлечения разработчика

Минусы данного метода:

  • Нужно иметь аккаунт Google

Авторы

ivnish Drupal FullStack Developer
marassa Друпалист-любитель
pselfin Разработка и поддержка сайтов на Drupal. Интернет-маркетинг под ключ

  • Войдите или зарегистрируйтесь, чтобы отправлять комментарии
  • Блог

Комментарии

marassa 29 июля 2020 в 18:59

Способ 4: программный

1. Описываем наш .js файл в файле MYTHEME|MYMODULE.libraries.yml
2. Включаем его на нужных страницах добавив [ ‘#attached’ ] [ ‘library’ ] [ ] =. в любом удобном хуке.

Плюсы данного метода:

  • Скрипты, добавленные таким образом, будут сжиматься (агрегироваться)
  • Можно очень тонко настроить на каких страницах скрипт будет подключаться

Минусы данного метода:

  • Нужно немножко уметь программировать (или хотя бы копипастить) на PHP.

ivnish 29 июля 2020 в 19:06

А слона-то я и не приметил) Добавил, спасибо!

jura12 1 августа 2020 в 0:37

заработал 1й способ. мешал модуль Content Security Policy

Ставим ГТМ (хоть этим модулем или этим, хоть в теме) и уже там добавляем все скрипты без программиста и затрагивания кода сайта.

ivnish 3 августа 2020 в 11:59

Спасибо, добавил в мануал

Попросили уточнить немного.
Так как по друпалу все просто — поставили модуль, указали ID тегменеджера или вставили код, то по самому менеджеру немного хитрее. Дам ссылки на хорошие материалы:
— Обзор, установка и настройка Google Tag Manager
— https://analytics-tips.com/
На этих сайтах много дополнительных инструкций по разным задачам — как поставить метрику, настроить цели разного вида, менять контент и с помощью ГТМ и тд.

Некоторые скрипты через гтм не работают. Но это скорее редкость.

Rama 3 сентября 2021 в 12:49

У меня сработал только этот модуль GoogleTagManager

Источник: drupal.ru

Применение материала к нескольким объектам

На самом деле, заголовок не полностью отображает возможности этого скрипта — изменять можно не только материал, а вообще производить над объектами какие-либо манипуляции: изменение параметров, добавление компонентов, и т. д. Нужно лишь немного изменить код.

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

using UnityEngine; using System; using UnityEditor; using UnityEngine.UI; public class AssignMaterial : ScriptableWizard < public bool isRecursively = true; public Material material; string label = «Select Game Objects»; GameObject[] objects; void OnWizardUpdate () < helpString = label; isValid = (material != null); >void OnWizardCreate () < objects = Selection.gameObjects; foreach (GameObject go in objects)< changeMaterial(go); >> void changeMaterial (GameObject go) < if (go.GetComponent()) < go.GetComponent< YOUR_COMPONENT>().material = material; > if (isRecursively) < for (int i = 0; i < go.transform.childCount; i++) < changeMaterial(go.transform.GetChild(i).gameObject); >> > [MenuItem («Custom/Assign Material», false, 4)] static void assignMaterial () < ScriptableWizard.DisplayWizard («Assign Material», typeof(AssignMaterial), «Assign»); >>

Создав такой скрипт и положив его в папку Editor вы создадите свой пункт в главном меню Unity. Выбираете Custom → Assign Material и появляется окно применения материала. Выбираете нужный материал, а на сцене объекты к которым его применить и жмете Assign. Готово.

В данном примере, я применял новый материал к компоненту Image.

Источник: mopsicus.ru

Рейтинг
( Пока оценок нет )
Загрузка ...
Заработок в интернете или как начать работать дома