Показаны сообщения с ярлыком ios. Показать все сообщения
Показаны сообщения с ярлыком ios. Показать все сообщения

понедельник, 10 марта 2014 г.

Cocos2D. Новые обновления движка





  Всем привет! Как всем известно(я надеюсь;) ), вышла новая версия движка Cocos2D ver. 3.0. В данном апдейте, авторы исправили много старых багов и добавили немного приятных фитч. Одной из них стал билдер игр - SpriteBuilder, который без значительных затрат времени позволяет организовать игровую сцену, больше информации можно посмотреть по ссылке или в видео.





  Основные исправления затронули:
  • Scene management (workflow)
  • Transitions between scenes
  • Sprites and Sprite Sheets
  • Effects: Lens, Ripple, Waves, Liquid, etc.
  • Actions (behaviours):
  • Trasformation Actions: Move, Rotate, Scale, Fade, Tint, etc.
  • Composable actions: Sequence, Spawn, Repeat, Reverse
  • Ease Actions: Exp, Sin, Cubic, Elastic, etc.
  • Misc actions: CallFunc, OrbitCamera, Follow, Tween
  • Basic menus and buttons
  • Integrated with Chipmunk physics engine
  • Particle system
  • Fonts:
  • Fast font rendering using Fixed and Variable width fonts
  • Support for .ttf fonts
  • Tile Map support: Orthogonal, Isometric and Hexagonal
  • Parallax scrolling
  • Motion Streak
  • Render To Texture
  • Touch/Accelerometer on iOS
  • Touch/Mouse/Keyboard on Mac
  • Sound Engine support (CocosDenshion library) based on OpenAL
  • Integrated Slow motion/Fast forward
  • Fast textures: PVR compressed and uncompressed textures
  • Point based: RetinaDisplay mode compatible
  • Language: Objective-C
  • Open Source Commercial Friendly: Compatible with open and closed source projects
  • OpenGL ES 2.0 (iOS) / OpenGL 2.1 (Mac) based

 Все подробности можно просмотреть либо на официальном сайте или на github-е. Кстати, ребята не уснули выпустив новую версию движка. Почти каждый день пользователи находят новые проблемы, которые решаются, буквально за несколько часов. Сегодня было целых 2-3 апдейта движка с исправлениями, так что нашли баг - пишите на гит.
  Пока что остается разбираться в том что есть). Всем удачного форка;)

вторник, 25 февраля 2014 г.

Работа с интернетом. Упрощаем себе работу



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

четверг, 6 февраля 2014 г.

Маленькие полезности. Часть 1

  
  Доброго времени суток) Решил немного расслабиться и написать несколько коротких, но полезных статеек. В последнее время, часто сталкиваюсь в надобности написания достаточно простых функций, которых по странному стечению обстоятельств не присутствуют в ios sdk.

  И так  -  первым делом поговорим о цвете :)

Преобразование из HEX в UIColor
 // преобразование из hex в UIColor  
 -(UIColor *)getHexColor:(NSString*)hex  
 {  
   NSString *newString = nil;  
   if ([hex hasPrefix:@"#"])  
   {  
     newString = [hex substringFromIndex:1];  
   }  
   else if([hex hasPrefix:@"0x"])  
   {  
     newString = [hex substringFromIndex:2];  
   }  
   if([hex length] ==6)  
     newString = hex;  
   if ([newString length] !=6)  
   {  
     return [UIColor clearColor];  
   }  
   NSRange range;  
   range.location = 0;  
   range.length = 2;  
   NSString *rString = [newString substringWithRange:range];  
   range.location = 2;  
   NSString *gString = [newString substringWithRange:range];  
   range.location = 4;  
   NSString *bString = [newString substringWithRange:range];  
   unsigned int r, g, b;  
   [[NSScanner scannerWithString:rString] scanHexInt:&r];  
   [[NSScanner scannerWithString:gString] scanHexInt:&g];  
   [[NSScanner scannerWithString:bString] scanHexInt:&b];  
   UIColor * colorWave = [UIColor colorWithRed:((float) r / 255.0f)  
                      green:((float) g / 255.0f)  
                      blue:((float) b / 255.0f)  
                      alpha:1.0f];  
   NSDictionary * dict = @{@"colorHex": hex,  
               @"UIColor":colorWave};  
   [_colors addObject:dict];  
   return colorWave;  
 }  

четверг, 3 октября 2013 г.

IOS. Пользователь всегда прав (часть 2)





        Особо разглагольствовать не буду, введение было в прошлой статье. Перейдем сразу к делу. 
        При выборе IDE в Crashlytics, выбираем XCode. Нам предоставят для скачивания Mac-овский клиент.

пятница, 15 февраля 2013 г.

Одноклассники в профиль





     Доброго всем времени суток, друзья. Вот и прошли зимние “каникулы”, для кого они были успешными, для кого иначе. И вот рабочие будни снова возвращаются  и привычный ритм  жизни потихоньку восстанавливается. В последние полторы недели, у меня была, одна из тривиальнейших задач для mobile developer-а  -   работа с социальной сетью, в данном случае это были - Одноклассники. Проблем, ни каких не предвиделось, но когда обычно так думаешь, в процессе вылезут такие баги, о которых даже и представления не  имеешь.        
  Сразу акцентирую внимание  - я отказался от использования Odnoklassniki SDK! Не буду говорить, что там есть серьезные проблемы, но они есть и те, кто выберет  SDK – удачи. 


вторник, 9 октября 2012 г.

CocoaPods. Часть 2 (Spec's)


    Время доброе. Сегодня рассмотрим как все таки же можно подготовить свои исходники , для добавления   в общий репозиторий  CocoaPods. 

    

  Создание спецификации

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



   Перед тем как вам позволят залить, ваши исходники будут про модерированны  админом/админами репозитория, а они как полагается админам - злые и противные ;) 
   Да, там есть админы. Но - нет, на самом деле они во все не злые, скорее справедливые, ну у меня не было с ними проблем - наверно повезло ;).    

пятница, 14 сентября 2012 г.

CocoaPods. Часть 1 (Интеграция с проектом)


                                                                     

   Доброго времени суток! Сегодня, я расскажу о недавно появившимся инструменте для Objective-с программеров, с новыми плюшками - CocoaPods.
   CocoaPods - фактически, большой репозиторий исходных кодов, различных функций, наработок  и разных фреймворков для Objective-c. Основной задачей этого инструмента является  управление библиотечными зависимостями в Xcode-проектах, а так же, решение более мелких, но не мало важных проблем - версионность библиотек, изменение кода в них, решение конфликтов между фреймворками (если таковы имеются) и тд.



   И так, говорить об этом "инструменте", можно долго - лучше разобрать на примере. Я эту статью разобью на две не большие. В этой, поговорим, как именно "подтягивать" библиотеки из CocoaPods и интегрировать их в свой проект. Во втором - как добавить свои библиотеки или функции в главный репозиторий CocoaPods.

воскресенье, 19 августа 2012 г.

Custom FileManager. Работа с .plist

 
   Сделаю не большое отступление в сторону хранения и загрузки данных.
   Это была одна из первых, моих проблем с которой я столкнулся изучая ios и objective-c. Методов хранения данных, на ios довольно таки не мало, начиная с .plist и CoreData, заканчивая базами данных и клиент-серверных систем. Но основными, для новичков становится либо plist, либо CoreData  - все зависит от требований и данных. Вот выкладка ашки(.h) одного из классов написанных мною, по работе с plist, который в самом начале очень помог мне.

пятница, 27 июля 2012 г.

Общая структура проекта


           Рассмотрение любого языка, фреймворка и тд, зачаcтую начинают с обычного  проекта
               “Hello Word”. Но для начала,  чуть-чуть разберемся в архитектуре построения классов 
               cocos2d.





Как видно из диаграммы, в основе всех объектов кокоса лежит CCNode.
CCNode – класс прародитель (или базовый), определяющий все свойства и методы общие для всех его наследников и не имеющий визуального представления.


воскресенье, 18 декабря 2011 г.

Установка Cocos2d


Начну с банального – установки cocos2d  :).  По установке фреймворка, в сети можно найти немало  инструкций, как  нормальных, так и с шаманствами.
           Мы же установим нормально. Cocos2d является open source разработкой, так что, его можно скачать с официального сайта http://www.cocos2d-iphone.org/download . Скачали, распаковали, открыли папочку с фреймворком и находим файл install-templetes.sh, заходим в его свойства и копируем путь к файлу. За тем открываем терминал и пишем: 

cd "вставляем путь к файлу" (без кавычек)
sudo  ./install-templates.sh
            
            Установили :) открываем Xcode и видим новую вкладочку с темплейтами.

            К сборке фреймворка добавлены 2 физических движка - Box2d и Chipmunk.  На этом и заканчивается установка Cocos2d.

            Для переустановки Cocos2d ( если вы переустанавливаете одну и туже версию, если же версия кокоса новая, то можно этого не делать), введите в терминале:

cd "вставляем путь к файлу" (без кавычек)
./install-templates.sh -u -f 
( где флаги:  (-u) - установить в пользовательский каталог библиотеки, а не в глобальный. (-f) - насильно переписать если данный каталог существует )