среда, 10 сентября 2014 г.

[Android] Sphero SDK часть 1. Быстрый старт






       Привет! Сегодня мы начнем с простого - подключение Sphero к телефону и попробуем поиграть с LED и ускорением. Для начала скачаем Sphero SDK с github, всю основную и дополнительную информацию можно найти на официальном сайте и блоге.



вторник, 9 сентября 2014 г.

Sphero 2.0. Игрушка или контроллер?




    Всем доброго времени суток. Прошло не мало времени с последней публикации, много чего изменилось: выход Swift, Android L и много еще чего. Но сегодня мы не будем говорить о коде. а обратим внимание на более реальные вещи ;). Несколько месяцев назад я решил приобрести небольшой девайс для своего iPad, а именно - Sphero 2.0.

понедельник, 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;  
 }