понедельник, 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-овский клиент.

среда, 2 октября 2013 г.

ANDROID. Пользователь всегда прав




                 Как я и обещал, эта статья будет посвящена багам, которые мы не смогли отловить до релиза. Такое часто случается, независимо от платформы и языка программирования, человеческий фактор и по сей день играет роль в багообразовании, если только у вас в запасе нет пару сотен тестировщиков с разными устройствами. Хотя некоторым даже удается выдать баги за фитчи, смотря какими они получились, но рано или поздно, данные “фитчи” теряются в многочисленных правках и версиях.

пятница, 20 сентября 2013 г.

ANDROID. Немного о насущном.

   


     Многие новички, а так же бывалые девелоперы, очень часто жалуются на тормоза эмуляторов (в данном контексте, статья будет касаться только
android). Каждый пытается решить эту проблему по-своему: кто-то ставит Linux, кто-то пытается ускорить работу разными тулсами, еще кто-то тратит деньги, влезая в кредиты на покупку устройств. Был на моей практике один способ – установить android на VBox. Опыт был полезным, но эмулятор все равно давал сбои (“конкретно не уверен, но это мог быть и сам VBox”).
               

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

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





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