Как сделать промокоды в unity

Добавил пользователь Владимир З.
Обновлено: 04.10.2024

🏓 Создаем 2D-игру на Unity: инструкция для новичка

Недавно мы рассказали о том, как научиться разработке игр на Unity . Продолжим тему на практике и покажем, как новичку создать на этой платформе первую 2D-игру.

Если вы хотите получить более систематическое образование в области разработки игр, мы рекомендуем рассмотреть факультет разработки игр онлайн-университета GeekBrains.

Двумерные игры сравнительно просты: для них не требуется сложных 3D-моделей, программный код по сравнению с 3D-проектами выглядит понятнее. Такие игры популярны как на десктопах, так и на мобильных устройствах. Unity также позволяет разрабатывать игры и для браузеров.

За последние годы вышло много популярных двумерных игр:

Программная реализация 2D-игр проще не только из-за отсутствия третьего измерения: на самой сцене меньше объектов, вместо трехмерных моделей плоские спрайты, вместо скелетной анимации – покадровая. А еще 2D-игры проще портировать на другие платформы – легче найти новую аудиторию.

Давайте создадим простую игру в жанре пинг-понг 🏓 . Перед тем как приступить к созданию игры, продумайте, какой именно результат хотите получить. На первых этапах рекомендуется использовать схематические шаблоны, чтобы быстрее получить работающий результат. В этой инструкции мы так и поступим. Графических ресурсов использовать не будем: и ракетки, и отбиваемый мяч будем пока отображать простыми белыми спрайтами.

Предварительно рассмотрим основные понятия Unity, без понимания которых будет проблематично создать игру:

Предполагаем, что вы уже установили редактор и создали аккаунт на портале Unity.

В первую очередь создадим новый проект и откроем его настройки (Edit → Project Settings). Во вкладке Editor установим параметр Default Behaviour Mode в значение 2D

Настройка проекта Детальная настройка проекта

Следующим шагом сохраним текущую активную сцену, назвав ее, например, Scene1. Теперь создадим основные игровые объекты: ракетку, мяч и менеджер игры, в котором будет храниться основная логика игры.

1. Создаем пустой объект, переименовываем в GameManager.

Создаем пустой объект

Создаем пустой объект

3. Создаем квадратный спрайт, называем его Pad (Assets → Create → Sprites → Square). Аналогично создаем круглый спрайт Ball (Assets → Create → Sprites → Circle). Масштабируем спрайт Pad со следующими параметрами – x:0.5, y:2.5, z:1.

Создаем спрайты

Создаем спрайты

4. Создаем префабы для Pad и Ball, после чего добавляем к ним компонент Box Collider 2D (включаем параметр Is Trigger) и компонент Rigidbody 2D (выставляем параметр Body Type в значение Kinematic).

Добавляем .компонент Box Collider 2D Настраиваем.компонент Box Collider 2D Добавляем компонент Rigidbody 2D Масштабируем спрайты

6. Заполняем скрипты следующим кодом.

GameManager.cs Ball.cs Pad.cs

6. Добавляем к префабу Ball и Pad теги с аналогичными именами. Выделив префабы, в инспекторе мы можем видеть выпадающий список тегов. Там же расположены и кнопки для добавления и редактирования тегов.

7. В настройках камеры выставляем параметр Projection в значение Orthographic, а параметр Clear Flag – в значение Solid Color.

Настройка камеры

Настройка камеры

8. Настраиваем кнопки, как показано на следующих скриншотах (Edit → Project Settings → Input Manager).

Настройка ввода, основное Настройка ввода, первый игрок Настройка ввода, второй игрок

Вот и всё, игра готова!

Пинг-понг, итоговый результат

Пинг-понг, итоговый результат

Билд для платформы Windows

1. Официальный туториал от Unity, где детально рассмотрен процесс создания roguelike RPG.

2. Youtube-канал Brackeys , где можно найти серию видеоуроков по созданию 2D-платформера.

3. Youtube-канал N3K EN содержит множество уроков как по отдельным компонентам Unity, так и полноценные серии уроков по созданию игр с нуля.

Если у вас мало опыта в разработке игр на Unity, мы рекомендуем обратить внимание на факультет разработки игр GeekBrains . Материал хорошо структурирован и содержит все необходимое для того, чтобы стать профессиональным Unity-разработчиком.

В числе прочего вы разработаете 2D-платформер с физическими загадками и динамическим освещением, научитесь портировать его на мобильные устройства. Кроме того, разработаете полноценную браузерную стратегию, а также игру в жанре двухмерных гонок.

По окончании обучения вы будете иметь портфолио из 4 игр, которое можно показать на собеседовании. Если же какая-то часть материала будет непонятна, вы всегда можете обратиться к персональному преподавателю.

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

Извлекаем текстуры и шейдеры

Большинство ресурсов Unity-проекта упаковываются в файлы проприетарного формата с расширениями .assets и .resources . Наиболее популярный на сегодняшний день инструмент для просмотра таких файлов и извлечения из них ресурсов — Unity Assets Explorer.


Установка программы dnSpy

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

Поиск нужный файлов

Для того, чтобы получить исходный код игры скачиваем ее (можно и Steam версию игры). Далее нам нужно найти ее локальные файлы. Для этого заходим в ‘свойства‘ >> ‘локальные файлы’ >> ‘просмотреть локальные файлы‘. Далее, нужно немного порыться и найти папочку Managed‘.

Убедитесь, что игра написана на Unity!



В этой папке будет много файлов с расширением .dll. Нам нужен только 1 из них. Assembly-CSharp.dll

Работа в dnSpy

Для начала кинем наш файл в dnSpy. После этого вы увидите подобную картину.


У вас может не быть некоторых файлов, они появятся со временем работы.

Нажимаем на стрелочку слева от название нашего файла. Далее тоже самое, только в открывшемся взору файле. Получаем много файлов. Все это – код.


Нам нужен только раздел под названием “-“. Нажимаем на стрелочку слева. И видим множество файлов, что и есть исходный код. Вы можете в нем покопаться и изменить, например прозрачность стен или, например, иконки персонажей и оружия.

Взламываем исходный код через IlSpy и dotPeek

Для Windows-сборок Unity компилирует и сохраняет исходный код всех игровых скриптов в директорию Managed . Интересуют нас следующие библиотеки: Assembly-CSharp.dll , Assembly-CSharp-firstpass.dll и Assembly-UnityScript.dll .



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

Пошаговая инструкция о том, как подключить Unity ADS и правильно настроить свой аккаунт, чтобы получать вознаграждение за рекламу на свой счет в банке. Здесь мы так же разберем, как заполнить налоговую форму W-8BEN для гражданина РФ. Инструкция подойдет как для разработчиков под платформу Android, так и iOS. Дополнительно к этой публикации, мы добавим свой вариант скрипта для работы с ADS, который идеально подойдет тем, кто хочет быстро встроить рекламу в игру, без лишних заморочек. Выполнять ниже следующие инструкции имеет смысл, если у вас уже есть готовая игра.

Так, у нас уже есть готовая игра и мы придумали название? Тогда начинаем!


Если профиль заполнен правильно, мы увидим зеленую галочку.

Нам нужно заполнить три формы: адрес проживания, вывод средств, форма W-8BEN.

С первыми двумя пунктами проблем быть не должно, остановимся подробнее на форме W-8BEN.


Выбираем наш проект и переходим в раздел Monetization > Placements.
Здесь нам понадобятся ID для Apple App Store и/или Google Play Store, эти ключи будут использоваться в скрипте.

Переходим в редактор на вкладку Window > Asset Store находим там пакет Unity Monetization, скачиваем и импортируем.
Теперь, когда мы импортировали необходимые плагины, идем на вкладку Window > General > Services
Выбираем пункт I already have a Unity Project ID


В новом меню выбираем организацию и имя проекта.
И жмем кнопку Link.


Переходим в меню ADS и подключаем его.
Убираем галочку Enable buil-in, так как мы уже импортировали необходимые плагины.

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


Привет, друзья! В одном из последних видеоуроков по Юнити мы делали инвентарь, на базе этого урока мы сделаем магазин. Оставайтесь с нами и изучайте уроки Unity бесплатно. Поехали!

Создаем еще одну панель на канвасе, а на ней создаем image, добавляем на нее спрайт золота и дублируем image, перемещаем правее. Меняем спрайт. Далее создаем кнопку, ставим под image, на кнопке меняем текст на Buy, делаем так же для второго image.

  • public string nameBuy - имя покупки
  • public int summ - общая сумма монет персонажа
  • public GameObject ButStore - панель магазина
  • public Text textSum - объект текст в который выводим монеты

юнити уроки +для начинающих


Далее создаем функции для кнопок, в которых присваиваем имя покупки в зависимости от того, на какую кнопку нажали, и вызываем функцию BuyStore();

уроки юнити 3д


Далее создаем функцию BuyStore, делаем проверку на название покупки и монет.
Если два условия правда, то мы подгружаем нужный спрайт в инвентарь, вычитаем монеты у персонажа и выводим результат в текст.

unity покупки


Объявляем еще одну панель.

unity 3d уроки

В старте нам нужно также указать, что при запуске программы панель скрыта.

unity +как сделать магазин



Возвращаемся в Юнити. На канвасе создаем кнопку, перемещаем в левый верхний угол и меняем текст на кнопке на Store. Еще на канвас добавим текст, в котором будет отображаться количество монет.

магазин unity

Возвращаемся в скрип. Нужно добавить функции открытия и закрытия панелей.

магазин юнити



Сохраняем и переходим в Юнити. Так как скрипт у нас на персонаже, если вы делали с нуля проект, то переместите скрипт на персонажа. В нем нам нужно заполнить окна. Добавляем панели в нужное окно.
Теперь займемся кнопками. Кликаем на кнопку Store.
Добавляем событие, в окно перемещаем персонажа и выбираем функцию.

игры +на unity уроки


Кликаем на кнопку в панели магазина которая отвечает за покупку золота.
Добавляем событие, в окно перемещаем персонажа и выбираем функцию.

Кликаем на кнопку закрытия магазина. Создаем событие, перемещаем персонажа и выбираем функцию.

unity уроки +для начинающих


Запускаем и проверяем.

Полный скрипт:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class GameManager : MonoBehaviour
public Image[] inImages;
public Sprite[] spr;
public string nameBuy;
public int summ;
public GameObject ButStore,panelBox;
public Text textSum;
void Start()
summ = 150;
textSum.text = summ.ToString();
ButStore.SetActive(false);
panelBox.SetActive(false);
>
public void OpenStore()
ButStore.SetActive(true);
>
public void panelClose()
panelBox.SetActive(false);
>
public void CloseStore()
ButStore.SetActive(false);
>
public void BuyStoreGold()
nameBuy = "Gold";
BuyStore();
>
public void BuyStoreSword()
nameBuy = "Sword";
BuyStore();
>
public void BuyStore()
if (nameBuy == "Gold" && summ >= 100)
inImages[0].sprite = spr[0];
summ-=100;
>

Читайте также: