Pull to refresh
-1
0
Send message

Cocos2d-x — разработка простой игры

Reading time12 min
Views116K

1. Вводная часть


В этой статье речь пойдет о разработке прототипа игры под Android/Linux с помощью Cocos2d-x. Cocos2d-x это кросс-платформенный фреймворк для создания двумерных игр и других графических приложений. Он создан на основе cocos2d-iphone, но вместо Objective-C Cocos2d-x использует C++. Приложения могут быть запущены на платформах: iOS, Android, Windows Phone, OS X, Windows, Linux.
Эта статья о разработке приложения под Android/Linux, платформа разработки — Ubuntu.
К сожалению, Cocos IDE существует только под Window и Mac, а под Linux версии не предвидится, но так как я очень люблю Ubuntu и это та платформа, с которой я работаю каждый день, я использую для разработки Clion.
Некоторые части этой статьи — перевод соответствующих частей документации (http://www.cocos2d-x.org/wiki).
Статья ориентирована на тех, кто начинает свое знакомство с Cocos2d-x. В ней я расскажу о том, как создать самое простое приложение со спрайтами, сценами и как работать с акселерометром. Это может быть неким стартом, чтобы в будущем идти дальше, углубляясь в API Cocos2d-x.

2. Требования


Определим необходимый набор инструментов, который нам понадобится.
Ubuntu 14.04 — платформа разработки
Cocos2d-x v3.8.1 — https://cocos2d-x.org/download
CMake 2.8+
JDK 1.6+
Android SDK
Android NDK r9d+
Apache Ant — для сборки Android-сборки
Python 2.7.5
Clion 1.1 — www.jetbrains.com/clion


3. Cocos2d-x


Cocos2d-x появился в 2010 году, это проект с открытым исходным кодом, распространяющейся под лицензией MIT. Cocos2d-x позволяет писать на таких языках как C++, Lua и Javascript. Cocos2d-x быстрый, простой и обладает большими возможностями. В настоящее время много игр, написанных с помощью этого фреймворка, находятся в топе AppStore и Google Play.
«Большие ребята», такие как Zynga, Wooga, Glu, Big Fish Games, Konami используют Cocos2d-x для разработки игр.

Тут я должен сделать маленькое отступление. Дело в том, что Cocos2d-x позволяет использовать C++ для написания кода, и все это будет собираться под Android и Linux. Если использовать Cocos2d-JS, то можно писать на Javascript. Тогда в случае сборки для на Linux/Ubuntu код будет транслироваться в C++, а затем компилироваться. Это влечет много разных проблем (усложняет работу со сторонними библиотеками, например). В случае же web будет выполнятся java-script (кстати, время сборки в этом случае равна нулю, что неплохо).
Если же использовать Cocos2d-x, то под web это не работает, но под Linux и Android код компилируется напрямую. Для Android, конечно же, используется Android NDK.

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

Продление жизни аккумуляторам электроинструмента — часть 2

Reading time4 min
Views28K
Мда. С момента написания первой части прошло уже 4 года.
Время летит…


Как ни странно, мой шуруповерт Stayer все еще жив, хотя и побывал в ремонте. Также живы и 4 из 5 аккумуляторов (один пошел на элементы для восстановления остальных).
Выведенные на корпус батарей разъемы позволяли дозаряжать проблемные ячейки и поддерживать батареи в годном состоянии. Но, боже, как это нудно!
В общем, когда меня окончательно достал этот процесс, я начал усиленно копать инет в поисках чипа, годного для балансировки аккумулятора на 15 Ni-Cd элементов.
И. Сюрприз! Я такого чипа просто не нашел. Ну, вот нету и всё тут. Для литиевых еще туда-сюда (и то на меньшее количество «банок») для никеля — глухо. Или я искать не умею, или производителям просто плевать на эту нишу.

Но, нету в жизни не решаемых задач!

Linux-контейнеры дома: зачем и как

Reading time8 min
Views121K



Рассуждения


При упоминании словосочетания «контейнерная виртуализация», многим на ум сразу же приходят Virtuozzo и OpenVZ, а также Docker. Ассоциируется же это все, в первую очередь, с хостингом, VPS и другими подобными вещами.

Дома, на личных компьютерах многие используют виртуальные машины: в основном, пожалуй, Virtualbox. Как правило, для того, чтобы работая под Linux, иметь под рукой Windows или наоборот. Однако, при наличии множества родственных Linux-операционок, я стал замечать, что использование виртуальных машин — это, мягко говоря, нерационально.
Читать дальше →

Аудиокодек своими руками — это просто

Reading time5 min
Views33K
актуальная редакция статьи на сайте Makeloft

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

Пора снять завесу, отворить дверцу и воочию взглянуть на таинственный алгоритм будоражащий умы и сердца, добро пожаловать на сеанс с разоблачением!


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

Как «Змейка» может познакомить с ООП: сложная концепция простыми словами

Reading time9 min
Views68K
Здравствуйте! Вас приветствует редакция сайта GeekBrains.ru, сервиса онлайн-обучения программированию. Мы решили завести блог на Хабре! Уверены, что ещё успеем рассказать и обсудить много интересного из мира программирования, ИТ и онлайн-образования. Но начнём очень просто, без особых прелюдий, с обзора бесплатного курса по основам C# и ООП от одного из наших учеников. Слоган курса гласит «Сложная концепция простыми словами». Давайте же посмотрим, насколько это соответствует действительности.


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

Разработка менеджера закачек на GO

Reading time8 min
Views30K
Менеджер многопоточных закачек на GO.

http://loafter.github.io/godownloader/
https://github.com/Loafter/godownloader


Вступление


Давным-давно, в году этак 1998, для выхода в интернет я использовал модем на работе у отца. Он его включал вечером после работы и я мог наслаждаться просторами сети интернет на скорости аж 31.2 кбит/c. В то время не было истеричных блогеров, страницы не весили по мегабайту, а в новостных сайтах говорили только правду. Естественно основной интерес представляли ресурсы. Картинки, программы, всякие дополнения к играм, вроде машинок. Как сейчас помню качать через IE было сущим адом. Скачать файл весом больше 500 кб было просто невозможно, древний осел был намного упрямей.
Читать дальше →

Инструкция: внедряем HIDS OSSEC

Reading time10 min
Views54K
OSSEC (Open Source Host-based Intrusion Detection System) – это хостовая система обнаружения вторжений. Если у вас появилась задача проверки контроля целостности файлов на ваших серверах, логирования различных действий на серверах, получения событий безопасности с ваших серверов (а также любых других) и оповещений об этих событиях, вывода различных отчетов и многое другое, то HIDS OSSEC — отличное решение под эти задачи. OSSEC может работать локально, по схеме агент + сервер и в гибридном режиме (агент->сервер->сервер). Мы будем рассматривать схему агент + сервер и работу в гибридном режиме.

Содержание


Установка OSSEC
Настройка конфигурационного файла OSSEC
Добавление агентов
Настройка конфигурационного файла для агентов
Email оповещения
Работа с агентами и получение отчетов
Вывод данных в другие системы
Работа OSSEC в гибридном режиме

Установка OSSEC


Установим на ОС Ubuntu 14.04 Установим необходимые пакеты для установки OSSEC:
Читать дальше →

8 ресурсов для бесплатного образования на русском языке

Reading time3 min
Views63K
Как выглядит процесс обучения? Детсад, школа, университет и эпизодические курсы повышения квалификации, да и то не у всех. До конца жизни человек идет на том багаже знаний, который набрал в начале. Сейчас есть запрос на то, чтобы процесс обучения стал постоянным. Нужно поменять специализацию – пожалуйста. Нужно усилиться – пожалуйста. Делать это виртуально может быть проще и удобнее, ведь нет никаких барьеров. При этом качественные знания можно получить бесплатно. Представляю 8 платформ, на которых можно учиться на русском языке без бюджета.
Читать дальше →

«Пиратские» сайты готовятся к вечным блокировкам

Reading time3 min
Views54K
С завтрашнего дня область действия «антипиратского» закона будет значительно расширена, а при повторных нарушениях ресурс будет заблокирован навсегда. Правообладатели и организации по защите их интересов уже подготовили огромные списки сайтов, для которых будут добиваться вечной блокировки. Операторы некоторых ресурсов пытаются найти общий язык и прийти к сотрудничеству с правообладателями. Но остальные готовятся к вечному попаданию в «чёрные списки».

Rutor.org уверенно предупреждает своих пользователей, что уже в начале мая сайт будет заблокирован навсегда, а за ним в реестре Роскомнадзора окажутся тысячи других ресурсов. Поэтому администрация Rutor.org снабдила пользователей часто повторяемой, но полезной информацией по обходу блоков. Пользователям предлагается либо получать доступ к сайту через зеркала free-rutor.org и zerkalo-rutor.org, а также IPv6-, .onion- и .i2p-зеркала, либо проксировать трафик.
Читать дальше →

Символьный LCD дисплей (Видео урок 1)

Reading time1 min
Views54K
image
Всем привет. Решил сделать видео урок по символьному lсd-индикатору в поддержку начинающим программистам микроконтроллеров. Как говорится, лучше один раз увидеть, чем сто раз услышать.

Начинающие в основном используют готовые библиотеки для работы с lcd-индикатором и, конечно же, понятия не имеют, как организован протокол обмена между микроконтроллером и индикатором. А ведь, зная это, можно самому создать программу не хуже, а то и лучше.
Читать дальше →

R в качестве инструмента мониторинга цен

Reading time6 min
Views18K
В данной статье хотел бы коснуться такой темы как мониторинг конкурентов. Понимаю, что у данной темы есть как много сторонников, ведь так или иначе мониторинг необходим для успешного развития почти любой компании, так и противники, которые защищают интересы своего бизнеса от мониторщиков.

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

Простая игра средствами ПТК «Квинт 7»

Reading time8 min
Views10K
Здравствуйте.

Продолжаем тему написания простых и забавных программ, используя ПТК «Квинт 7» российской разработки. В предыдущих постах показывалось как можно просто и быстро написать игрушку вроде змейки или сапера. Но не смотря на то, что это две совершенно разные игрушки, с точки зрения программирования на CFC (в результате спора с одним товарищем пришли к мнению, что данный язык все-таки ближе к CFC чем к FBD) это была фактически одна и та же программа с небольшими косметическими изменениями. В этой статье мы с вами рассмотрим новый пример программирования, написав с нуля простенькую игрушку «БлэкДжек». Если Вас заинтересовала эта тема, добро пожаловать под кат.

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

Полная энергетическая автономия или как выжить с солнечными батареями в глубинке (часть 3. переходная)

Reading time7 min
Views153K


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



Начать экономию

Да здравствует мыло душистое, или как исправить неправильное масштабирование Windows программ

Reading time3 min
Views28K
Не секрет, что внедрение высокого разрешения экранов идет быстрее, чем адаптация Windows программ под них. Проблемы появляются в первую очередь тогда, когда нам надоедает напрягать глаза и пользоваться увеличительными стеклами, и мы изменяем масштабирование системы. Программы можно разделить на три категории по тому, как они ведут себя при этом:
  • Все элементы программы масштабируются правильно
  • Только некоторые элементы масштабируются правильно
  • Программа говорит Windows, что не умеет масштабироваться, и тогда операционная система сама масштабирует всю программу как умеет (в результате чего мы и видим замыленный интерфейс во многих старых программах)

Самый неприятный вариант для пользователя — это конечно же второй. Он может не только сделать программу неудобной для использования, но и вообще сделать пользование невозможным.
Ниже я покажу на примере QTIPlot как это можно исправить.
Читать дальше →

Разбираемся с загрузкой ArchLinux по сети

Reading time11 min
Views41K
В предыдущей статье мы подготовили базовую систему. Закончим настройку в следующей статье.

Здесь мы создадим новую систему Arch Linux, способную загружаться по сети и автоматически запускать браузер Firefox, а между делом разберёмся с необходимой функциональностью загрузочного сервера. Потом настроим сам сервер и попробуем с него загрузиться. Всё произойдёт в точности, как на картинке, которую нашёл гугл по запросу «PXE»:


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

Спектральный анализ сигналов

Reading time8 min
Views294K
image

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

Под катом краткий обзор метода выделения гармоник из произвольного сигнала с помощью цифрового гетеродинирования, и немного особой, Фурье-магии.
Читать дальше →

Автоматический определитель электронных компонентов

Reading time3 min
Views165K


Очень интересное и несложное устройство, которое позволит измерить сопротивление, ёмкость и индуктивность любого элемента за несколько секунд.

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

Как подружить Google Диск и Google Календарь? Пробуем GAS на вкус

Reading time5 min
Views29K
Корзина покупателя GASПредлагаю читателям «Хабрахабра» историю о том, как мне удалось повысить свою покупательскую способность в кризисное время при помощи Google Apps Script (GAS). Под катом вы найдете нестандартный пример использования и узнаете о возможностях работы со службами Google Drive и Google Calendar.

Началось все с того, что цена импортируемых товаров в России неуклонно росла вверх. Работая IT-специалистом в крупной ритейл-сети, у меня возникла идея о том, как можно воспользоваться преимуществом наличия доступа к товарной базе, не нарушая установленных правил компании и тем более закона. Наибольший интерес с точки зрения экономии личных денежных средств представляют так называемые «промоакции» (тарифы со скидкой). Необходимо было организовать ежедневную выгрузку «промоакций» на интересующие товары и реализовать возможность своевременного получения уведомлений о наличии скидок на Android-смартфон.
Читать дальше →

Как это собрать приложение на android за 15 минут

Reading time13 min
Views20K


Для многих создание приложение — это что-то сверх силы. Но это приложение можно написать и за пару минут. Давно уже известно про написание приложений на HTML5. Последний раз, когда делал подобное, производилось множество манипуляций подключения различных библиотек и сборки на Eclipse. Сейчас приложение можно собрать из консоли одной командой cordova build.

Наша задача


За пару минут до прихода любимой сделать ей приятный сюрприз. Хорошо, когда ваши фото лежат с подписями к датам и тегами, описавшими дату. Подбираем нужные фото и начинаем делать приложение… но времени у нас мало и опыта в мобильной разработки нет, поэтому сделаем на html5 и упакуем cordova.

Для удобства у нас есть IDEA, которая нам поможет скомпилировать и сверстать приложение. Именно сверстать, потому что это единственная работа, которую предстоит сделать.
Читать дальше →

Разворачиваем рабочий образ linux с минимальным интерактивом

Reading time6 min
Views33K
Эта публикация может быть интересна тем ленивым системным администраторам, которые используют что-то из нижеперечисленнго:
  • Linux — based систему на машинах-клиентах;
  • Тонкие/толстые однотипные клиенты на различном железе;
  • Сетевое хранилище клиентских данных;
  • Предустановленный регламентированный софт;
  • Openvpn/rdp к серверам приложений.
  • Плюшевый (мягкий и пушистый) мониторинг linux клиентов типа Nagios.

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

Information

Rating
Does not participate
Registered
Activity