Pull to refresh
1
0
Станислав Персияненко @itspers

User

Send message

Система сообщений или “мягкая связь” между компонентами для Unity3D

Reading time13 min
Views34K

Введение


В данной статье будут затронуты темы, связанные с реализацией возможности “мягкой связи” компонентов игровой логики на основе системы сообщений при разработке игр на Unity3D.

Ни для кого не секрет, что в подавляющем большинстве случаев средств, которые предоставляет движок в базовом виде, недостаточно для полноценной реализации систем обмена данными между компонентами игры. В самом примитивном варианте, с которого все начинают, мы получаем информацию через экземпляр объекта. Получить этот экземпляр можно разными способами от ссылки на объект сцены, до функций Find. Это не удобно, делает код не гибким и заставляет программиста предусматривать множество нестандартных поведений логики: от “объект исчез из сцены”, до “объект не активен”. Помимо прочего может страдать и скорость работы написанного кода.
Читать дальше →
Total votes 10: ↑9 and ↓1+8
Comments26

Сбербанк делится опытом создания приложения в Material Design: стили и темы

Reading time20 min
Views52K
Привет, Хабрахабр! Не так давно мы подводили итоги конкурса по Material Design, и в комментариях нас просили показать реально популярные и красивые Material-приложения. Что же, встречайте: «Сбербанк Онлайн» в новом, современном интерфейсе. Про процесс создания приложения интереснее узнать от самих создателей.

Мы передаём слово команде разработчиков Android-приложения Сбербанка, чтобы вы услышали об опыте создания такой сложной штуки, как UI мобильного банк-клиента, из первых уст. Большую часть поста написал freeuser, так что спасибо говорите ему. ;)
Читать дальше →
Total votes 39: ↑31 and ↓8+23
Comments57

Тематическая картография: общие вопросы

Reading time26 min
Views28K


Хочу поделиться с вами переводом руководства по тематической картографии от ребят из axismaps.

Рекомендую к прочтению информационным дизайнерам, журналистам (данных), аналитикам, начинающим картографам, а также всем, кто хочет научиться читать тематические карты и отличать хорошую карту от плохой, вводящей читателя в заблуждение. Всех заинтересовавшихся приглашаю под кат.
Читать дальше →
Total votes 21: ↑21 and ↓0+21
Comments6

Как зарядить смартфон за 30 мин и не «убить» аккумулятор

Reading time5 min
Views168K


Севший не вовремя телефон — причина нервного расстройства и последующей затяжной депрессии не одной тысячи человек. Даже если нет важного разговора, все равно разряженный мобильный друг расстраивает. А если еще и поговорить срочно нужно — вообще хоть с моста бросайся. Но не все так мрачно — есть много вариантов, как вернуть к жизни своего электронного помощника. Это и адаптер для батареек, и повербанк, и «быстрый» адаптер, с поддержкой Quick Charge. Вот последний вариант и хочется обсудить.

Дело в том, что уже несколько лет компания Qualcomm выпускает чипы, которые совместимы с технологией быстрой зарядки. Сама технология, которая широко распространена сейчас, называется Quick Charge 2.0 — ее поддержка обеспечивается либо использованием отдельной микросхемы в системе, либо совместимым чипом Snapdragon. По словам разработчиков, эта технология ускоряет зарядку аккумулятора устройства вплоть до 75%.
Читать дальше →
Total votes 20: ↑13 and ↓7+6
Comments30

Android Data Binding in RecyclerView

Reading time6 min
Views51K


На Google IO 2015 анонсировали новую библиотеку Data Binding Library. Основная ее задача — вынесения взаимодействия модели и View в xml-файлы. Она значительно упрощает написание кода и избавляет от необходимости использования методов findByViewId(), добавления ссылок на view-элементы внутри Activity/Fragment’ов. Также она позволяет использовать кастомные атрибуты, привязывая их к статическим методам. Поскольку статьей просто по Data Binding уже достаточно, но по его использованию в RecycleView всего ничего, восполним этот пробел.
Читать дальше →
Total votes 16: ↑16 and ↓0+16
Comments10

Vector Drawable API. Возможности применения

Reading time12 min
Views54K
2014 год был особенным для всех, кто занимается разработкой под Android — он принес одно из самых значимых обновлений Android за всю его историю, версию Android 5.0. С этим обновлением мы получили новый визуальный язык, детальные гайдлайны, множество новых API и инструментов. И, как всегда в случае таких массивных обновлений, не все новшества сразу пробивают себе дорогу в реальные проекты. Где-то мешает инерция мышления разработчиков, привыкших решать определенные задачи определенным образом, где-то — отсутствие документации по новым API, где-то — отсутствие поддержки новых возможностей на старых версиях платформы. Но время не стоит на месте и благодаря труду команды Android, а также независимых разработчиков, такие API постепенно обретают обратную поддержку. И сегодня я хочу рассказать об API векторной графики Android, который способен серьезно облегчить жизнь разработчика, но при этом до сих пор не пользуется популярностью.

векторный Android


Читать дальше →
Total votes 14: ↑14 and ↓0+14
Comments10

Очередь событий в карточной игре + основы Angular

Reading time8 min
Views24K
Доброго дня, новички, сегодня мы попытаемся переделать нашу игрушку, разучивая основы новых для нас «технологий»:

  • AngularJS
  • DataBoom

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

Ну а во второй части с помощью DataBoom создадим замечательную очередь событий, как в оригинальной игре (напоминаю, что делаем по образу и подобию HeartStone). Забегая вперед скажу, что в следующий раз мы вообще избавимся от php сервера, и полностью перейдем на Databoom, но это уже совсем другая статья…

image

Читать дальше →
Total votes 29: ↑23 and ↓6+17
Comments6

Как работают замыкания (под капотом) в JavaScript

Reading time11 min
Views76K
Привет, Хабр!

Мы в Хекслете используем JavaScript не только для очевидных задач во фронтэнде, но и, например, для реализации браузерной среды разработки (наш опен-сорсный hexlet-ide) на React'е. У нас есть практический курс по JavaScript, и один из уроков там посвящен замыканиям. Это важная тема не столько в рамках JS, сколько в программировании вообще. Мы освещаем ее и в других курсах.

В целом, статей и туториалов про использование замыканий в JS полно, но объяснений как это все работает внутри — мало. Сегодняшний перевод посвящен именно этой теме. Как и почему работают замыкания в JS, когда они создаются и уничтожаются и почему каждая функция в JS — это замыкание.


Я использую замыкания уже достаточно давно. Я научился их использовать, но не до конца понимал как они на самом деле работают, что происходит «под капотом». Что это вообще такое? Википедия не очень помогает. Когда замыкание создается и уничтожается? Как выглядит реализация?

"use strict";
 
var myClosure = (function outerFunction() {
 
  var hidden = 1;
 
  return {
    inc: function innerFunction() {
      return hidden++;
    }
  };
 
}());
 
myClosure.inc();  // возвращает 1
myClosure.inc();  // возвращает 2
myClosure.inc();  // возвращает 3
 
// Ага, круто. А как это реализовано?
// И что происходит под капотом?
Читать дальше →
Total votes 54: ↑47 and ↓7+40
Comments11

NDK c полпинка

Reading time7 min
Views23K

Вместо пролога


Я, пожалуй, нарушу традицию всех подобных статей и не буду рассказывать, зачем нужен NDK. Если вы это читаете, значит вам он зачем-то понадобился. Но один из реальных кейсов использования мы, конечно же, рассмотрим.

Эта история началась с того, что на Google I/O 2015 была представлена поддержка нативной разработки прямо не выходя из студии, Android-студии. Естественно, Google, как всегда, наобещал и заставил ждать, пока они все это выкатят для обычных людей. И вот 9 июля это свершилось: на stable channel появился кусочек того пирога, который нам наобещали.
Что же было дальше?
Total votes 21: ↑19 and ↓2+17
Comments8

Руководство для дизайнера по DPI

Reading time27 min
Views318K


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

Автор — Sebastien Gabriel.

Я не знаю всего, так что, если по вашему мнению я где то ошибаюсь или вам нужно уточнить что-то, либо у вас есть предложения или вопросы для улучшения данного руководства, отправьте письмо (на англ) на sgabriel.contact@gmail.com. Вы также можете найти на меня Twitter, G+ или Facebook.
Читать дальше →
Total votes 92: ↑88 and ↓4+84
Comments19

Пять способов оптимизации кода для Android 5.0 Lollipop

Reading time11 min
Views35K
Как сделать программы быстрее? Один из эффективных способов – оптимизация кода. Зная особенности платформы, для которой создаётся приложение, можно найти эффективные способы его ускорения.


Читать дальше →
Total votes 31: ↑27 and ↓4+23
Comments15

Как красиво оформить публикацию на Хабре

Reading time7 min
Views45K
Публикация – основная единица связи автора с читателем. Практика показывает, что на Хабре можно разместить почти любой формат: небольшой анонс и лонгрид-обзор, интервью, фотоотчёт, трансляцию события, урок и многое-многое другое. Нередко успех публикации зависит и от её оформления – приятно оформленный материал читать одно удовольствие. В этой статье мы постараемся предоставить вам много полезных советов по хорошему оформлению материала.

И первый лайфхак – кликабельная картинка до ката, которая ведёт сразу внутрь публикации:


Читать дальше →
Total votes 140: ↑121 and ↓19+102
Comments112

Добавление библиотеки OpenCV в проект Android Studio

Reading time5 min
Views53K

Вступление


Добрый день, уважаемые читатели! Всем давно известно, что мобильные устройства всё чаще комплектуются мощным аппаратным обеспечением. Процессоры современных смартфонов почти сравнялись с настольными аналогами, а проблемы с возможной нехваткой оперативной и внешней памяти уходят на второй план. Сегодня уже не встретишь телефоны или планшеты без внушительной программной платформы вроде Android, iOS или Windows, а кроме того, все мобильные устройства имеют те или иные встроенные модули, вроде фотокамеры. В данной статье речь пойдёт о встраивании библиотеки компьютерного зрения OpenCV в проект приложения для Android. Вероятно, данная статья не имела бы никакой значимой ценности, однако все инструкции в ней предназначены для Android Studio, новой официальной среды разработки от Google. К тому же, в статье описывается статическая инициализация OpenCV в Android без использования OpenCV Manager. Ниже представлен план руководства:

  1. Загрузка OpenCV SDK для Android
  2. Установка OpenCV в проект Android Studio
  3. Разработка примера приложения OpenCV для Android

Не будем терять времени и начнём работу.
Читать дальше →
Total votes 28: ↑22 and ↓6+16
Comments13

Дайджест интересных материалов для мобильного разработчика #110 (29 июня-5 июля)

Reading time3 min
Views13K
В очередном дайджесте выход новых версий Qt, Cordova и iOS, уроки создания контента для Google Play, A/B тестирования и разработки уровней для игр «три в ряд», «Twitch для программирования» и множество других интересных материалов.

Читать дальше →
Total votes 18: ↑15 and ↓3+12
Comments0

Learndroid, урок №7: LayoutInflater, UI контролы, AdapterView

Reading time1 min
Views8.9K
Уже больше трех месяцев идет бесплатная Android онлайн-школа Learndroid, которую организуют e-Legion и Google. За это время зарегистрировалось более 20 000 учеников, а сайт школы посетили более четверти миллиона человек. Подробнее о формате можно прочитать в предыдущем посте.

Сегодня мы выкладываем седьмой урок, который подготовил Даниил dev_troy Сердюков (CTO e-Legion).



В лекции рассказано, что такое LayoutInflater, рассмотрены параметры метода inflate() и то, как происходит процесс преобразования xml в UI компоненты. Рассмотрены основные UI контролы, механика работы с ними, паттерн Listener.
Total votes 11: ↑11 and ↓0+11
Comments0

Разбираемся с сеткой в Adobe Illustrator

Reading time9 min
Views147K

От переводчика


Привет, %юзернейм%!

Этот перевод как бы дополняет мою предыдущую публикацию про Pixel Perfect, без которого она была бы неполной, тем более что оригинальная статья про Pixel Perfect ссылается на оригинальную статью этого перевода.

Материал расчитан на новичков, и немного рассказывает о двух вещах:
  1. Как избежать той проблемы, из-за которой у вас в макетах расстояние между элементами или гайдами начинает включать в себя дробные части пикселей;
  2. Как использовать сетки для прототипирования в Adobe Photoshop и Adobe Illustrator.

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

Как и в прошлый раз, одна из целей, почему я пишу эту статью на Хабр (а не ограничиваюсь, к примеру, переводом на Tuts+) — это составление после перевода полезных ссылок по теме. Призываю хабражителей так же делиться своими соображениями и инструментами, которыми вы пользуетесь при создании сеток, может быть какими-то другими редакторами. Один мой знакомый товарищ прокомментировал предыдущую статью таким образом, что, конечно, материал прикольный, но сам он пользуется Sketch'ем, а там это всё из коробки. Расскажите, чем пользуетесь вы?

Кстати, хотя в статье речь идёт об Adobe Illustrator, в Adobe Photoshop можно так же использовать и пиксельную сетку, и привязку к пикселям, и свою собственную настраиваемую сетку.

Краткое содержание


  • Чтобы включить/выключить сетку в Adobe Illustrator/Photoshop, нажмите Ctrl + '
  • Чтобы включить/выключить гайды в Adobe Illustrator/Photoshop, нажмите Ctrl + ;


Ну, поехали.

Разбираемся с сеткой в Adobe Illustrator





Читать дальше →
Total votes 13: ↑11 and ↓2+9
Comments0

История разработки моей первой игры

Reading time6 min
Views29K
Все началось с того, что я поиграл в сверхпопулярную игру под названием «Flappy bird». Все отлично её знают и описывать игру нет смысла. Но одно сказать я все же должен: Flappy bird зацепила меня своей простотой управления и сложностью геймплея. Я мог играть в нее часами подряд и вдруг подумал — может сделать такую же захватывающую, но при этом простую в управлении и концепции игру? Это же легко, работы на 2 недели, думал я. И так все началось.
Читать дальше →
Total votes 30: ↑20 and ↓10+10
Comments43

iПрезентация (The Presentation). Как Джобс готовил и проводил презентации

Reading time11 min
Views41K
Стив Джобс был лучшим в мире оратором и делал самые лучшие презентации продуктов, заставляя зрителей «сидеть на краешках стульев». Фокус в том, что за каждой из таких презентаций скрывается определённая подготовка и определённые приёмы. Кармин Галло (Karmine Gallo) изучил публичные выступления Стива Джобса и его подготовку к этим выступлениям. В результате мы можем прочесть книгу, которая поможет вам готовить хорошие презентации.



Зачем эта статья? Да, эта статья не отменяет необходимости чтения первоисточника. Но лично мне она нужна как конспект: когда я в очередной раз буду готовиться к публичному выступлению, я вернусь к этой статье и быстро вспомню то, о чём написано в книге.
Итак, приступим.
Читать дальше →
Total votes 17: ↑16 and ↓1+15
Comments3

Быстрый старт Data Binding в Android

Reading time8 min
Views66K

Введение


Профессионально андроид-разработкой занимаюсь чуть больше года, до этого разрабатывал по Windows Phone и мне понравилась возможность связывать данные из вью модели с самим View при помощи механизма Bindings. А после изучения RX, многие задачи стали решаться более чисто, вью-модель полностью отделилась от View. Она стала оперировать только моделью, совсем не заботясь о том, как она будет отображаться.

В Android такой строгости я не заметил, Activity или Fragment как простейшие представители контроллера чаще всего имеют полный доступ как ко View, так и к модели, зачастуя решая, какой View будет видим, решая таким образом чисто вьюшные задачи. Поэтому я довольно радостно воспринял новость о появлении Data Binding в Android на прошедшем Google IO.



Пока что это только бета релиз, но уже можно протестировать функционал и увидеть направление, в котором двигаются разработчики из Google.
Читать дальше →
Total votes 22: ↑20 and ↓2+18
Comments14

Спецэффекты в фильме «Mad Max: Fury Road». Часть 1/2

Reading time9 min
Views35K
image

Каждый, кто уже посмотрел нового «Безумного Макса», согласится с тем, что фильм вышел сочным: зашкаливающий градус безумия постапокалиптического мира, полное отсутствие морали, ощущение безысходности, мощные авто и красочные взрывы. Экшен бьет ключом и не позволяет оторвать взгляд от экрана ни на секунду.

Вопреки современным тенденциям снимать кино исключительно в павильонах с зелеными стенами, при создании Mad Max: Fury Road активно использовались еще и реальные взрывы, более 150 автомобилей и работа каскадеров. Конечно, в фильме присутствует в немалых количествах и компьютерная графика вкупе с визуальными эффектами, но благодаря обширной статье на fxguide мы можем узнать, где заканчивается реальность и начинается CGI.

Читать дальше →
Total votes 36: ↑33 and ↓3+30
Comments12
1
23 ...

Information

Rating
Does not participate
Location
Харьков, Харьковская обл., Украина
Date of birth
Registered
Activity