Unity VK Mobile: 0 Введение

Привет. Расскажу в этот раз я вам про интеграцию одного плагинчика для социальной сети ВКонтакте(ВК).

Дело все в том, что ВК недавно(год назад) открыли свою мобильную платформу. Её достоинства в том, что там халявный трафик и ПОКА малое количество приложений:) То есть можно получить несколько тысяч установок абсолютно бесплатно. А если игра будет иметь хорошую виралку, то и несколько десятков, а то и сотен тысяч установок. Согласитесь, что это не плохо для инди или мелкой компании.

Начать нужно с того, что прочесть список того, что необходимо реализовать в приложении, чтобы вас приняли в каталог:
— Добавить кнопки подключения и отключения аккаунта ВКонтакте
— Добавить кнопку вступления в официальные сообщества игры и платформы
— Реализовать механизм приглашения друзей в игру
Тут стоит заметить, что «кнопку вступления в официальные сообщества» подразумевает и просто открытие страницы требуемых групп.

Читать дальше →

Фиксим Unity Scroll Drag Threshold

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

Решение оказалось простым и элегантным, которое можно оформить в маленький скрипт:
//
// Coded by afrokick 2016
// http://devby.ru/afrokick/2016/05/11/fiksim-unity-scroll-drag-threshold.html
//
using UnityEngine;
using System.Collections;
using UnityEngine.EventSystems;

/// <summary>
/// Use it in new unity UI system for fix drag threshold in different scale factor.
/// </summary>
public class DragThresholdFixer : MonoBehaviour
{
	[SerializeField]
	private EventSystem myEventSystem;

	[SerializeField]
	private Canvas myCanvas;

	[SerializeField]
	private float pixelDragThreshold = 5;

	// Use this for initialization
	void Awake()
	{
		myEventSystem.pixelDragThreshold = (int)(pixelDragThreshold * myCanvas.scaleFactor);
	}
}


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

Удачи!

Быстрый Unity UI Scroll с бесконечным числом элементов

Привет! Записал урок по скроллу. Задача была сделать скролл с большим количеством элементов внутри и чтобы не тормозило. «Бесконечное» естественно конечно, но по сути лишь память вам ограничитель, ну и размер Int32:)

В основе лежит принцип разделения данных(model) и представления(view). У нас есть шаблон элемента, которым выглядит одинаково, но данные в нем разные.

Так же стоит учесть, что внутри скролла одновременно мы видим небольшое количество элементов, а не все сразу.

Передаем делегат из Unity3D в ObjC

Привет! Давно не писал статей. Вот решил поделиться недавним хаком, который пришлось использовать для написания плагина. Будет разбирать на примере как передать из C# кода ссылку на метод(делегат) в ObjC код. Исходники я приведу, так как плагинчик опенсорсный (с открытым исходным кодом).

Что делает плагин? Он перехватывает событие openUrl и возвращает результат в приложение. Это полезно, когда нужно реализовать, например, oauth регистрацию и нужно получить токен в ответ через схему приложения.

Вы наверное знаете, что есть метод UnitySendMessage. Для его работы нужно создавать GameObject, вешать на него скрипт. К тому же, вам придется писать строки с именами объекта и методов, что не очень красиво и удобно. С делегатами круче — сам по себе он несет интерфейс, вам остается лишь вызвать его когда нужно и передать необходимые параметры.

Для начала, давайте вставим готовый ObjC код в папку Assets/Plugins/iOS/

Читать дальше →

Работаем с Stencil в Unity3D ShaderLab

Приветы. Встала вот такая задача: сделать затемнение всего экрана, но в каком-то участке сделать как бы «дырку».

Как такое можно сделать?

1 Вариант — «Латать» экран
Заделываем экран кусками — тут думаю понятно) У нас есть одна текстура круга, а остальную часть мы заделываем кусками. Реализовывать дополнительно ничего не нужно, достаточно сверстать. НО! Как только понадобиться несколько «дыр», верстка усложнится. А если нужно динамически подсвечивать часть экрана?

Читать дальше →

Связываем C# с MySQL

Приветствую! Хочу расписать поподробнее тему подключения MySQL к вашему коду на C#.

1 Установка MySQL
Для начала нужно установить саму субд. Есть несколько вариантов:
1. поставить готовый веб сервер с настроенной субд
2. поставить с нуля

Второй способ требует больше телодвижений и опыта и используется обычно в продакшане(при выходе продукта на рынок).

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

Достаточно будет запустить выбранный веб-сервер и бд готова к использованию.

Читать дальше →