рдПрдХ рдШрдбрд╝реА рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЕрдЪреНрдЫреА рд╣реИ, рд▓реЗрдХрд┐рди рдкреВрд░реА рд╕рд╛рдЗрдЯ рдЗрд╕рдХреЗ рд╕рд╛рде рднрд░реА рд╣реБрдИ рд╣реИред рд╣рдореЗрдВ рдХреБрдЫ рдФрд░ рджрд┐рд▓рдЪрд╕реНрдк рдХрд░рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИред

"рдЯреНрд░реИрдХ 60" рд╕реЗ рдЧреЗрдВрдж рдпрд╛рдж рд╣реИ? рдЖрдЗрдП рдЗрд╕рдХрд╛ рдПрдирд╛рд▓реЙрдЧ рдмрдирд╛рддреЗ рд╣реИрдВ - рдПрдХ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЬреЛ рдкреНрд░рд╢реНрди рдХрд╛ рдЙрддреНрддрд░ рджреЗрддрд╛ рд╣реИред
рдмреЙрд▓ рдкреЗрдмрд▓ рдЧрд┐рд╡рд┐рдВрдЧ рдЬрд╡рд╛рдм
рдХреЗрд╡рд▓ рд╣рдо рдПрдХ рдЧреЗрдВрдж рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдПрдХ рдХрдВрдХрдбрд╝, рдЕрд░реНрдерд╛рддреН рдХрдВрдХрдбрд╝ рд╣реЛрдЧрд╛ :)
рдЗрд╕рдХреЗ рд▓рд┐рдП рд╣рдореЗрдВ рдХреНрдпрд╛ рдЪрд╛рд╣рд┐рдП? рдЙрддреНрддрд░реЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рдФрд░ рдПрдХ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд╕рдВрдЦреНрдпрд╛ рдЬрдирд░реЗрдЯрд░ред рд╣рдо
рд╡рд┐рдХрд┐рдкреАрдбрд┐рдпрд╛ рдкрд░ рдЙрддреНрддрд░реЛрдВ рдХреА рд╕реВрдЪреА рд▓реЗрдВрдЧреЗред рдПрдХ рд╕рд░рдгреА рдмрдирд╛рдПрдВ рдФрд░ рдЙрд╕реЗ рдЙрддреНрддрд░реЛрдВ рд╕реЗ рднрд░реЗрдВ:
static const char* messages[] = {"", " "," "," "," "," - "," "," ",""," - "," , "," "," "," "," "," "," - "," - "," "," ","",};
рдЖрджреЗрд╢ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдирд╣реАрдВ рд╣реИ, рд╡реИрд╕реЗ рднреА рд╡реЗ рдмреЗрддрд░рддреАрдм рдврдВрдЧ рд╕реЗ рдЗрд╕рдореЗрдВ рд╕реЗ рдЪреБрдиреЗ рдЬрд╛рдПрдВрдЧреЗред
рд╣рдо рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЗ рдореБрдЦреНрдп рд╡рд┐рдВрдбреЛ рдФрд░ рдкрд╛рда рдкрд░рдд рдХреЛ рдЙрд╕реА рддрд░рд╣ рдмрдирд╛рддреЗ рд╣реИрдВ рдЬреИрд╕реЗ рдкрд┐рдЫрд▓реЗ
рдкрд╛рда рдореЗрдВ , рдПрдХ рдЫреЛрдЯреЗ рдЕрдВрддрд░ рдХреЛ рдЫреЛрдбрд╝рдХрд░ -
window_set_fullscreen () рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд╕рд╛рде рд╣рдо рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд╢реАрд░реНрд╖ рдмрд╛рд░ рдХреЛ рд╣рдЯрд╛рддреЗ рд╣реИрдВред рдЗрд╕реЗ рдЗрд╕ рддрд░рд╣ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ:
window_set_fullscreen(window, true);
рдкрд╣рд▓рд╛ рддрд░реНрдХ рдЦрд┐рдбрд╝рдХреА рдХрд╛ рдирд╛рдо рд╣реИ, рджреВрд╕рд░рд╛, рдХреНрд░рдорд╢рдГ, рдкреВрд░реНрдг рд╕реНрдХреНрд░реАрди рд╣реИ, рдмрд╛рд░ рдХреЗ рд╕рд╛рде рдЧрд▓рдд рд╣реИред рд╕реВрдХреНрд╖реНрдорддрд╛ - рдЗрд╕ рдлрд╝рдВрдХреНрд╢рди рдХреЛ window_stack_push
рд╕реЗ рдкрд╣рд▓реЗ рдХреЙрд▓ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЕрдиреНрдпрдерд╛ рдХреЛрдИ рдЪрдорддреНрдХрд╛рд░ рдирд╣реАрдВ рд╣реЛрдЧрд╛ред
рдЕрдм рд░реИрдВрдбрдо рдирдВрдмрд░ рдЬрдирд░реЗрдЯрд░ рдореЗрдВ рдЖрддреЗ рд╣реИрдВред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдПрдХ
рд░реИрдВрдб () рдлрд╝рдВрдХреНрд╢рди рд╣реИ рдЬреЛ рдкреНрд░рддреНрдпреЗрдХ рдХреЙрд▓ рдкрд░ рдПрдХ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд╕рдВрдЦреНрдпрд╛ рджреЗрддрд╛ рд╣реИред рдХрд┐рд╕реА рднреА рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ RNG рдХреА рддрд░рд╣, рдЗрд╕реЗ рдХрд╛рдо рд╢реБрд░реВ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдПрдХ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд╕рдВрдЦреНрдпрд╛ рдХреЗ рд╕рд╛рде рдЖрд░рдВрднреАрдХреГрдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдЕрдиреНрдпрдерд╛ рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░рд╛рд░рдВрдн рдореЗрдВ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреА рдкрдВрдХреНрддрд┐ рджреЛрд╣рд░рд╛рдИ рдЬрд╛рдПрдЧреАред рдпрд╣ srand () рдлрд╝рдВрдХреНрд╢рди рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрд╕рдбреАрдХреЗ рдореЗрдВ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИ рдЬрд╣рд╛рдВ рдЗрд╕реЗ рд╡рд░реНрддрдорд╛рди рд╕рдордп рдХреЗ рд╕рд╛рде рдЖрд░рдВрдн рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЪреВрдВрдХрд┐ рд╣рдореЗрдВ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХрд┐рд╕ рд╕рдордп рд╢реБрд░реВ рд╣реЛрдЧрд╛, рдФрд░ рдпрд╣ рд╕рдордп рд╣рд░ рдмрд╛рд░ рдЕрд▓рдЧ рд╣реЛрддрд╛ рд╣реИ, рдпрд╣ рд╣рдорд╛рд░реЗ рд╡рд┐рдЪрд╛рд░ рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд╛ рдкрд░реНрдпрд╛рдкреНрдд рд╕реНрд░реЛрдд рд╣реИред рд╣рдо рдЗрд╕реЗ рдЗрд╕ рддрд░рд╣ рдХрд░рддреЗ рд╣реИрдВ:
srand(time(NULL));
рд╕рдЪ рд╣реИ, рдЬрдирд░реЗрдЯрд░ рдЕрдм рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдЙрддреНрдкрд╛рджрди рдХрд░ рд╕рдХрддрд╛ рд╣реИ - рдЬрд╛рд╣рд┐рд░ рд╣реИ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╕рдВрднрд╛рд╡рд┐рдд рдЬрд╡рд╛рдмреЛрдВ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдЬрдм рд╣рдо
рд╕рдВрджреЗрд╢реЛрдВ рдХреЗ рдЗрд╕ рдирд┐рд░реНрдорд╛рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ
[рд░реИрдВрдб ()% 21] ред % рдкреВрд░реНрдгрд╛рдВрдХ рд╡рд┐рднрд╛рдЬрди рдХрд╛ рд╢реЗрд╖ рд╣реИред рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рдЬрдирд░реЗрдЯрд░ 456 рджреЗрддрд╛ рд╣реИ, рд╡реЗ 21 рд╕реЗ рд╡рд┐рднрд╛рдЬрд┐рдд рд╣реЛрддреЗ рд╣реИрдВ, рдФрд░ рд╢реЗрд╖ (456-21 * 21) - 15 рд╣рдо рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╕рдВрдЦреНрдпрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рдпрд╣ 21 рд╕реЗ рдЕрдзрд┐рдХ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рд╢реЗрд╖ рд╡рд┐рднрд╛рдЬрди рд╢реВрдиреНрдп рдХреЗ рдмрд░рд╛рдмрд░ рд╣реЛрдЧрд╛ред
рд╣рдо рдЙрдкрд░реЛрдХреНрдд рд╕рднреА рдХреЛ рдПрдХ рдПрдХрд▓ рдореЗрдВ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ, рдФрд░ рд╣рдореЗрдВ рдРрд╕рд╛ рдлрд╝рдВрдХреНрд╢рди рдХреЙрд▓ рдорд┐рд▓рддрд╛ рд╣реИ:
text_layer_set_text(text_layer, messages[rand() % 21]);
рдпрд╣рд╛рдБ рдкреВрд░рд╛ рд╕реНрд░реЛрдд рд╣реИ:
#include "pebble.h" Window *window; TextLayer *text_layer; static const char* messages[] = {"", " "," "," "," "," - "," "," ",""," - "," , "," "," "," "," "," "," - "," - "," "," ","",}; int main(void) { window = window_create(); window_set_background_color(window, GColorBlack); window_set_fullscreen(window, true); window_stack_push(window, true); text_layer = text_layer_create(GRect(1, 47, 142, 77)); text_layer_set_text_color(text_layer, GColorWhite); text_layer_set_background_color(text_layer, GColorClear); text_layer_set_font(text_layer, fonts_get_system_font(FONT_KEY_GOTHIC_24)); text_layer_set_text_alignment(text_layer, GTextAlignmentCenter); layer_add_child(window_get_root_layer(window), text_layer_get_layer(text_layer)); srand(time(NULL)); text_layer_set_text(text_layer, messages[rand() % 21]); app_event_loop(); text_layer_destroy(text_layer); window_destroy(window); }
рдХрд╛рд░реНрдпрдХреНрд░рдо рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдкрд░ рдПрдХ рд╕рдВрджреЗрд╢ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЕрдм рдХреБрдЫ рднреА рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдПрдХ рдЕрдиреНрдп рд╕рдВрджреЗрд╢ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЛ рдкреБрдирд░рд╛рд░рдВрдн рдХрд░рдирд╛ рд╣реЛрдЧрд╛:

рдЕрдЧрд▓рд╛ рдХрджрдо рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдиреЗ рдкрд░ рд╕рдВрджреЗрд╢ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдирд╛ рд╣реИред
рдХрдВрдХрдбрд╝ рдПрдкреАрдЖрдИ рдореЗрдВ, "рд╕рджрд╕реНрдпрддрд╛" рд╢рдмреНрдж рдХрд╛ рдЙрдкрдпреЛрдЧ рдЙрди рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдирд╛рдорд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬреЛ рдореБрдЦреНрдп рд▓реВрдк рдореЗрдВ рд▓реЙрдиреНрдЪ рдирд╣реАрдВ рдХрд┐рдП рдЬрд╛рдПрдВрдЧреЗ, рд▓реЗрдХрд┐рди рдХреБрдЫ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдмрд╛рдж - рдЯрд╛рдЗрдорд░ рдХрд╛ рдПрдХ рдЯрд┐рдХ, рдПрдХ рдмрдЯрди рджрдмрд╛рдХрд░, рдФрд░ рдЗрд╕реА рддрд░рд╣ред рдпрд╛рдж рд░рдЦреЗрдВ, рдкрд┐рдЫрд▓реЗ рдкрд╛рда рдореЗрдВ, рд╣рдордиреЗ рдПрдХ рдЯрд╛рдЗрдорд░ рдХреЗ рд▓рд┐рдП рд╕рд╛рдЗрди рдЕрдк рдХрд┐рдпрд╛ рдерд╛ рдЬрд┐рд╕реЗ рд╕реНрдХреНрд░реАрди рд░рд┐рдлреНрд░реЗрд╢ рдлрд╝рдВрдХреНрд╢рди рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ? рдпрд╣рд╛рдВ рдХреБрдЫ рд╕рдорд╛рди рд╣реИ, рд╣рдо рдПрдХ рдмрдЯрди рдХреНрд▓рд┐рдХ рдХреА рд╕рджрд╕реНрдпрддрд╛ рд▓реЗрддреЗ рд╣реИрдВ (рдФрд░ рдПрдкреАрдЖрдИ рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХрдИ рддреИрдпрд╛рд░ рд╡рд┐рдХрд▓реНрдк рд╣реИрдВ -
рдПрдХрд▓ рдХреНрд▓рд┐рдХ ,
рдбрдмрд▓ рдХреНрд▓рд┐рдХ ,
рд╣реЛрд▓реНрдб, рдФрд░ рдЗрд╕реА рддрд░рд╣), рдЬрд┐рд╕рдХреЗ рдмрд╛рдж рд╣рдо рдЬреЛ рдлрд╝рдВрдХреНрд╢рди рд╕реЗрдЯ рдХрд░рддреЗ рд╣реИрдВ рд╡рд╣ рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
рдПрдкреАрдЖрдИ рдХрд╛ рдХрд╣рдирд╛ рд╣реИ рдХрд┐ рд╣рдореЗрдВ
window_set_click_config_provider () рд╡рд┐рдзрд┐ рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЬреЛ рдХреНрд▓рд┐рдХ рдХреЛ рдкрдХрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдкреЙрдЗрдВрдЯрд░ рдХреЗ рддрд░реНрдХ рдХреЗ рд░реВрдк рдореЗрдВ рд▓реЗрддрд╛ рд╣реИ, рдФрд░ рдЙрд╕ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдирд╛рдо рдЬрд┐рд╕рдореЗрдВ рд╕рджрд╕реНрдпрддрд╛ рдХрд╛ рд╡рд░реНрдгрди рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рд╣рдо рдпрд╣рд╛рдВ рдмрдЯрдиреЛрдВ рдХреА рд╕рджрд╕реНрдпрддрд╛ рдирд╣реАрдВ рд▓реЗрдВрдЧреЗ, рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓
window_set_click_config_provider рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдлрд╝рдВрдХреНрд╢рди рдореЗрдВред рдпрд╣ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:
window_set_click_config_provider(window, WindowsClickConfigProvider);
рд╡рд┐рдВрдбреЛ рдкреЙрдЗрдВрдЯрд░ рд╡рд┐рдВрдбреЛ рд╣реИ, рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдирд╛рдо WindowsClickConfigProvider рд╣реИред рдЗрд╕реЗ рдмрдирд╛рдПрдВ:
void WindowsClickConfigProvider(void *context) { }
рдФрд░ рд╣рдо
рдЕрдВрджрд░ window_single_click_subscribe рддрд░реАрдХреЛрдВ рдХреЛ
рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ , рдЬреЛ рдмрдЯрди рдХрд╛ рдирд╛рдо рд▓реЗрддреЗ рд╣реИрдВ рдФрд░ рдЙрд╕ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдЬрд┐рд╕ рдкрд░ рдирд┐рдпрдВрддреНрд░рдг рдкрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛:
window_single_click_subscribe(BUTTON_ID_UP, click);
рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдЬрдм рдЖрдк рдмрдЯрди рджрдмрд╛рддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рдХреНрд▓рд┐рдХ рдХрд╣рддреЗ рд╣реИрдВред
рдмрдЯрди (рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЙрдирдореЗрдВ рд╕реЗ 3) рдХреНрд░рдорд╢рдГ BUTTON_ID_UP, BUTTON_ID_SELECT, BUTTON_ID_DOWN рдХрд╣рд▓рд╛рддреЗ рд╣реИрдВред рдЖрдк "рдмреИрдХ" рдмрдЯрди рдХреА рд╕рджрд╕реНрдпрддрд╛ рд▓реЗ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рд╣рдореЗрд╢рд╛ рдЖрдкрдХреЛ рдкрд┐рдЫрд▓реА рд╕реНрдХреНрд░реАрди рдкрд░ рдлреЗрдВрдХ рджреЗрдЧрд╛ (рдпрджрд┐ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рдПрдХ рд╕реНрдХреНрд░реАрди рд╣реИ - рдореЗрдиреВ рдореЗрдВ)ред
рдЕрдм рдЖрд╡реЗрджрди рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:

рдФрд░ рдЗрд╕рдХрд╛ рд╕реНрд░реЛрдд:
#include "pebble.h" Window *window; TextLayer *text_layer; static const char* messages[] = {"", " "," "," - "," "," - "," "," ",""," - "," , "," "," "," "," "," "," - "," - "," "," ","",}; void click(ClickRecognizerRef recognizer, void *context) { text_layer_set_text(text_layer, messages[rand() % 21]); } void WindowsClickConfigProvider(void *context) { window_single_click_subscribe(BUTTON_ID_UP, click); window_single_click_subscribe(BUTTON_ID_SELECT, click); window_single_click_subscribe(BUTTON_ID_DOWN, click); } int main(void) { window = window_create(); window_set_background_color(window, GColorBlack); window_set_fullscreen(window, true); window_stack_push(window, true); text_layer = text_layer_create(GRect(0, 7, 144, 168)); text_layer_set_text_color(text_layer, GColorWhite); text_layer_set_background_color(text_layer, GColorClear); text_layer_set_font(text_layer, fonts_get_system_font(FONT_KEY_GOTHIC_24)); text_layer_set_text_alignment(text_layer, GTextAlignmentCenter); layer_add_child(window_get_root_layer(window), text_layer_get_layer(text_layer)); srand(time(NULL)); window_set_click_config_provider(window, WindowsClickConfigProvider); text_layer_set_text(text_layer, "Magic Pebble \n , \"\" \"\" "); app_event_loop(); text_layer_destroy(text_layer); window_destroy(window); }

рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ! рдЖрдк рд╕рдВрд╕реНрдХрд░рдг 0.1 рдЕрд╕рд╛рдЗрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ :)
рд▓реЗрдХрд┐рди рдХреБрдЫ рдЧрд╛рдпрдм рд╣реИред рдХреБрдЫ рдкреНрд░рднрд╛рд╡ рдЬреЛрдбрд╝рдирд╛ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ред рдЖрдк рдЙрддреНрддрд░ рдмрджрд▓рдиреЗ рдХрд╛ рдПрдХ рдПрдиреАрдореЗрд╢рди рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдиреЗ рдкрд░ рдШрдбрд╝реА рддреБрд░рдВрдд рдЬрд╡рд╛рдм рди рджреЗ, рд▓реЗрдХрд┐рди рдХрдИ рд╕реЗрдХрдВрдб рдХреЗ рд▓рд┐рдП рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЛ "рд╣рд▓" рдХрд░ рджрд┐рдпрд╛ред рдЙрджреНрдзрд░рдг рдЪрд┐рд╣реНрдиреЛрдВ рдореЗрдВ - рдХреНрдпреЛрдВрдХрд┐ рдЙрддреНрддрд░ рдХрд┐рд╕реА рднреА рдорд╛рдорд▓реЗ рдореЗрдВ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд╣реЛрдЧрд╛, рд▓реЗрдХрд┐рди рдкрд╣рд▓реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдЖрд╡реЗрджрди рдкрд░ рдЕрдзрд┐рдХ рд╡рд┐рд╢реНрд╡рд╛рд╕ рд╣реЛрдЧрд╛ - рд╣рдо рд▓реЙрдЯрд░реА рдЦреЗрд▓рддреЗ рд╕рдордп рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЗ рд╕рд╛рде рдПрдХ рдмреИрдЧ рдпрд╛ рдЧреЗрдВрджреЛрдВ рд╕реЗ рдХрд╛рд░реНрдб рдЪреБрдирдиреЗ рдХреА рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рд╣реИрдВред
рдпрджрд┐ рд╣рдо рдереЛрдбрд╝рд╛ рд╕рд╛ рднреМрддрд┐рдХреА рдЬреЛрдбрд╝ рджреЗрдВ рддреЛ рдпрд╣ рдФрд░ рднреА рд╕реБрдВрджрд░ рд╣реЛ рдЬрд╛рдПрдЧрд╛ред рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рд▓реЛрдЧ рдЦреБрдж рдХреЛ, рдЗрд╕ рдкрд░ рд╢рдХ рдХрд┐рдП рдмрд┐рдирд╛, рдПрдХ рд╡реНрдпреБрддреНрдХреНрд░рдо рдШрд╛рддрд╛рдВрдХ рдкрд░ рдЖрдЧреЗ рдмрдврд╝рдиреЗ рд╡рд╛рд▓реА рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рд╕реЗ рдШрд┐рд░реЗ рд╣реЛрддреЗ рд╣реИрдВ - рдЬрдм рдкреНрд░рдХреНрд░рд┐рдпрд╛рдПрдВ рдмрд╣реБрдд рд╢реБрд░реБрдЖрдд рдореЗрдВ "рддреЗрдЬ" рд╣реЛрддреА рд╣реИрдВ, рддреЛ рд╡реЗ рд░реИрдЦрд┐рдХ рд░реВрдк рд╕реЗ рдЖрдЧреЗ рдирд╣реАрдВ рдмрдврд╝рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЕрдзрд┐рдХ рдЧрддрд┐ рдЦреЛрдиреЗ, рд╢реБрд░реБрдЖрдд рд╕реЗ рдЕрдзрд┐рдХ рд╕рдордп рдмреАрдд рдЪреБрдХрд╛ рд╣реИред
рдпрд╣ рдХреБрдЫ рднреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИ - рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдореЗрдЬ рдкрд░ рдЧрд░реНрдо рдЪрд╛рдп рдХрд╛ рдардВрдбрд╛ рд╣реЛрдирд╛ред рдЬрдм рдЪрд╛рдп рдФрд░ рдЖрд╕рдкрд╛рд╕ рдХреА рд╣рд╡рд╛ рдХреЗ рдмреАрдЪ рддрд╛рдкрдорд╛рди рдХрд╛ рдЕрдВрддрд░ рдмрдбрд╝рд╛ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдпрд╣ рдереЛрдбрд╝рд╛ рдЧрд░реНрдо рд╣реЛрдиреЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдмрд╣реБрдд рддреЗрдЬреА рд╕реЗ рдардВрдбрд╛ рд╣реЛрддрд╛ рд╣реИред рдпрд╛ рдПрдХ рдЧрд┐рд▓рд╛рд╕ рд╕реНрдкрд╛рд░реНрдХрд▓рд┐рдВрдЧ рдкрд╛рдиреА рдореЗрдВ рдмреБрд▓рдмреБрд▓реЗред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдЬрдм рдкрд╛рдиреА рдореЗрдВ рдХрд╛рд░реНрдмреЛрдирд┐рдХ рдПрд╕рд┐рдб рдХреА рдПрдХрд╛рдЧреНрд░рддрд╛ рдЕрдзрд┐рдХ рд╣реЛрддреА рд╣реИ, рддреЛ рдпрд╣ рдмрд╣реБрдд рд╕рдХреНрд░рд┐рдп рд░реВрдк рд╕реЗ рд╡рд┐рдШрдЯрд┐рдд рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдереЛрдбрд╝реА рджреЗрд░ рдмрд╛рдж рдПрдХрд╛рдЧреНрд░рддрд╛ рдХрдо рд╣реЛ рдЬрд╛рддреА рд╣реИ, рдФрд░ рдЗрд╕рдХреЗ рд╕рд╛рде рдмреБрд▓рдмреБрд▓реЗ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХрдо рд╣реЛ рдЬрд╛рддреА рд╣реИред
рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдореИрдВ рднрд╛рдЧреНрдп рдХреЗ рдПрдХ рдкрд╣рд┐рдпрд╛ рдХреА рддрд░рд╣ рдХреБрдЫ рдХрд░рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ - рдЬрд╣рд╛рдВ рд╕реЗрдЧрдореЗрдВрдЯ рдкрд╣рд▓реЗ рдПрдХ рджреВрд╕рд░реЗ рдХреЛ рдЬрд▓реНрджреА рд╕реЗ рдмрджрд▓рддреЗ рд╣реИрдВ, рдзреАрд░реЗ-рдзреАрд░реЗ рдзреАрдорд╛ рд╣реЛ рд░рд╣реЗ рд╣реИрдВред рдпрд╣рд╛рдБ рдШрд░реНрд╖рдг "рджреЛрд╖реА" рд╣реИ - рдЙрдЪреНрдЪ рдЧрддрд┐, рдЬрд┐рддрдирд╛ рдЕрдзрд┐рдХ рдкрд╣рд┐рдпрд╛ рдзреБрд░реА рдХреЗ рдЦрд┐рд▓рд╛рдл рд░рдЧрдбрд╝рддрд╛ рд╣реИ рдФрд░ рдЬрд┐рддрдирд╛ рдЕрдзрд┐рдХ рдпрд╣ рдКрд░реНрдЬрд╛ рдЦреЛ рджреЗрддрд╛ рд╣реИ, рдпрд╣ рдЧрд░реНрдореА рдореЗрдВ рдЕрдиреБрд╡рд╛рдж рдХрд░рддрд╛ рд╣реИ рдФрд░ рдзреАрдорд╛ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдЧрддрд┐ рдореЗрдВ рдХрдореА рдХреЗ рд╕рд╛рде, рдШрд░реНрд╖рдг рдиреБрдХрд╕рд╛рди рднреА рдХрдо рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ - рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рдкрд╣рд┐рдпрд╛ рдЕрдкрдиреА рдЧрддрд┐ рдХрд╛ 50% рд╕рдордп рдХреЗ рдкрд╣рд▓реЗ 20% рдореЗрдВ рдЦреЛ рджреЗрддрд╛ рд╣реИ, рдФрд░ рд╢реЗрд╖ 50% рдореЗрдВ рд╢реЗрд╖ 50%ред
рд╣рдо рд╕рдВрджреЗрд╢ рдкрд░рд┐рд╡рд░реНрддрди рдХреЗ рдмреАрдЪ рдорд┐рд▓реАрд╕реЗрдХрдВрдб рдореЗрдВ рд╕рдордп рдХреА рдЧрдгрдирд╛ рдХрд░реЗрдВрдЧреЗред рдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ, рдпрд╣ рдкрд╛рдпрд╛ рдЧрдпрд╛ рдХрд┐ рдореВрд▓реНрдпреЛрдВ рдХреА рдПрдХ рдЕрдЪреНрдЫреА рд╕реАрдорд╛ 0 рд╕реЗ 300-400ms рддрдХ рд╣реИред рдпрджрд┐ рдЕрдВрддрд░рд╛рд▓ рд▓рдВрдмреЗ рд╣реЛрддреЗ рд╣реИрдВ, рддреЛ рдПрдХ рднрд╛рд╡рдирд╛ рд╣реИ рдХрд┐ рдкрд╣рд▓реЗ рд╕реЗ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рдЙрддреНрддрд░ рдЕрдЪрд╛рдирдХ рдмрджрд▓ рдЧрдпрд╛ рд╣реИред
рд╕рдмрд╕реЗ рд╕рд░рд▓ рдХрд╛рд░реНрдп рдЬреЛ рдЗрд╕ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ, рд╡рд╣ x = x * 2 рдЬреИрд╕рд╛ рдХреБрдЫ рд╣реИред рд▓реЗрдХрд┐рди рдЬрдм 2 рд╕реЗ рдЧреБрдгрд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдлрд╝рдВрдХреНрд╢рди рдЧреНрд░рд╛рдл рдмрд╣реБрдд рддреЗрдЬреА рд╕реЗ рдмрдврд╝рддрд╛ рд╣реИ, рдкреНрд░рддреНрдпреЗрдХ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐, рд╡рд┐рд▓рдВрдм рд╕рдордп рджреЛрдЧреБрдирд╛ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рд╣рдореЗрдВ 256 (рдЕрдзрд┐рдХрддрдо рд╡рд┐рд▓рдВрдм, рдЕрдЧрд▓реЗ рдореВрд▓реНрдп рдХреЗ рдмрд╛рдж рд╕реЗ - 512 рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕реБрд╡рд┐рдзрд╛ рдХреА рд╕реАрдорд╛рдУрдВ рд╕реЗ рдкрд░реЗ рд╣реИ) рдХреЗрд╡рд▓ 1 + 2 + 4 + 8 + 16 + 32 + 64 + 128 + 256 = 511ms рдХреА рдЕрд╡рдзрд┐ рдХреЗ рд╕рд╛рде рдЪрд░рдг 8 рдкрд░ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╣реИред рдЖрдзрд╛ рд╕реЗрдХрдВрдб рднреА рддреЗрдЬ рд╣реИред
рдЬрд╛рд╣рд┐рд░ рд╣реИ, рдореБрдЭреЗ рдПрд╣рд╕рд╛рд╕ рд╣реБрдЖ рдХрд┐ рдЧреБрдгрдХ 1.08-1.2 рдХреЗ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдлрд┐рд░ рд╣рдореЗрдВ рд▓рдЧрднрдЧ 30 рдХрджрдо рдФрд░ рд▓рдЧрднрдЧ 3 рд╕реЗрдХрдВрдб рдХреА рдЕрд╡рдзрд┐ рдорд┐рд▓рдиреА рдЪрд╛рд╣рд┐рдПред рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдлрд╝рдВрдХреНрд╢рди x = x * y рдкрд╕рдВрдж рдирд╣реАрдВ рд╣реИ - рдпрд╣ рдмрд╣реБрдд рдЦреЛрдЦрд▓рд╛ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдЭрд┐рд▓рдорд┐рд▓рд╛рд╣рдЯ рдмрд╣реБрдд рдзреАрд░реЗ рд╕реЗ рдзреАрдорд╛ рд╣реЛ рдЬрд╛рддреА рд╣реИ (рд╣рд╛рдВ, рдореИрдВ рдЕрдЬреАрдм рд╣реВрдВ), рдореИрдВ рдЗрд╕реЗ "рддреЗрдЬ" рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдЭрд┐рд▓рдорд┐рд▓рд╛рд╣рдЯ рдХрд░рдирд╛ рдкрд╕рдВрдж рдХрд░реВрдВрдЧрд╛, рдФрд░ рдлрд┐рд░ рдЕрдЪрд╛рдирдХ рд░реЛрдХ рджреЗрдВред
рдпрд╣ рд╕рд░рд▓ рд╣реЛ рд╕рдХрддрд╛ рдерд╛ - рд╕рд░рдгреА рдореЗрдВ рджреЗрд░реА рдХреЗ рдореВрд▓реНрдп рдХреЛ рд╣рдереМрдбрд╝рд╛ рдХрд░рдирд╛ рдФрд░ рдЙрдиреНрд╣реЗрдВ
рд░рдЧрдбрд╝рдирд╛ , рдЙрдиреНрд╣реЗрдВ рд╕рдВрддреБрд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рдирд╛, рдХреНрдпреЛрдВрдХрд┐ рдЙрдирдореЗрдВ рд╕реЗ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдирд╣реАрдВ рд╣реИрдВ - рд▓рдЧрднрдЧ 40 рдЯреБрдХрдбрд╝реЗред рд▓реЗрдХрд┐рди рдпрд╣ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЕрдзрд┐рдХ рджрд┐рд▓рдЪрд╕реНрдк рд╣реИ рдЬрд┐рд╕ рддрд░рд╣ рд╕реЗ рд╣рдореЗрдВ рдЬрд╝рд░реВрд░рдд рд╣реЛрддреА рд╣реИред рдЪреВрдВрдХрд┐ рдЧреБрдгрди рд╣рдореЗрдВ рд╕реВрдЯ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рд╣рдо рд╡рд┐рднрд╛рдЬрди рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВрдЧреЗред X = x / 0.7 рдЬреИрд╕рд╛ рдХреБрдЫред рд▓реЗрдХрд┐рди рдЕрдкрдиреЗ рдЖрдк рдореЗрдВ рдпрд╣ рдмрд╣реБрдд рддреЗрдЬреА рд╕реЗ рдмрдврд╝рддрд╛ рд╣реИ - рд╣рдо рдкрд╣рд▓реЗ рд╣реА рдЪрд░рдг 18 рдкрд░ 300 рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдореИрдВ рдереЛрдбрд╝рд╛ рдЕрдзрд┐рдХ рдЪрд╛рд╣реВрдВрдЧрд╛ред рд▓реЗрдХрд┐рди, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, 100 рд╕реЗ рдпрд╛ 1000 рд╕реЗ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИред рдЖрдЗрдП рд╣рдо рд╕рднреА рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдЧреНрд░рд╛рдл рдХреЛ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдореВрд▓реНрдп рдХреЗ рд╕рд╛рде рдкреНрд▓реЙрдЯ рдХрд░рддреЗ рд╣реИрдВред 1. рдЧреНрд░рд╛рдл рдХреЗ рдКрдкрд░ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХрджрдореЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рд╣реИред

рдЦреИрд░, рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ y = y / 0.7 x = y / 100 рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдХрд╛рдлреА рдЙрдкрдпреБрдХреНрдд рд╣реИ, рдЖрдк рдЗрд╕реЗ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рд▓реЗрдХрд┐рди рд╢реБрд░реБрдЖрдд рдХреЗ рд▓рд┐рдП, рд╣рдо рдПрдХ рдЧрдбрд╝рдмрдбрд╝ рдХреЛ рдареАрдХ рдХрд░реЗрдВрдЧреЗ: рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдФрд░ рд╕рдВрджреЗрд╢реЛрдВ рдХреА рдЬрд╛рдирдХрд╛рд░реА рдПрдХ рд╣реА рдкрд░рдд рдореЗрдВ рд╣рдорд╛рд░реЗ рд╕рд╛рде рдкреНрд░рджрд░реНрд╢рд┐рдд рдХреА рдЬрд╛рддреА рд╣реИ, рдлрд┐рд░ рд╕рдВрджреЗрд╢ рд╕реНрдХреНрд░реАрди рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рджрд┐рдЦрд╛рдИ рджреЗрддреЗ рд╣реИрдВ (рдКрд░реНрдзреНрд╡рд╛рдзрд░ рд╕рдВрд░реЗрдЦрдг, рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдирд╣реАрдВ)ред рд╣рд╛рдВ, рдФрд░ рдЫреЛрдЯреЗ рдкреНрд░рд┐рдВрдЯ рдореЗрдВ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЙрдиреНрд╣реЗрдВ рдФрд░ рднреА рдЕрдзрд┐рдХ рдмрдирд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ - рд╡реЗ рд╕реНрдХреНрд░реАрди рдкрд░ рдмрд╣реБрдд рдЫреЛрдЯреЗ рдФрд░ рдлрд┐рдЯ рд╣реИрдВред рдореБрдЭреЗ рдПрдкреАрдЖрдИ рдореЗрдВ рдкрд░рдд рдХреЛ рдЖрдХрд╛рд░ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рддрд░реАрдХреЗ рдирд╣реАрдВ рдорд┐рд▓реЗ, рдЗрд╕рд▓рд┐рдП рд╣рдореЗрдВ рдкрд░рдд рдХреЛ рд╣рдЯрд╛рдирд╛ рд╣реЛрдЧрд╛ рдФрд░ рдЗрд╕реЗ рдлрд┐рд░ рд╕реЗ рдмрдирд╛рдирд╛ рд╣реЛрдЧрд╛, рд▓реЗрдХрд┐рди рд╡рд┐рднрд┐рдиреНрди рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдХреЗ рд╕рд╛рдеред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдпрд╣ рдмрджрд╕реВрд░рдд рдирд┐рдХрд▓реЗрдЧрд╛ - рдХреЛрдб рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ (рдЗрд╕рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рдмрд╛рдж рдкрд░рдд рд╕реЗрдЯрд┐рдВрдЧреНрд╕) рддрд╛рдХрд┐ рдРрд╕рд╛ рди рд╣реЛ - рд╣рдо рдПрдХ рдЕрд▓рдЧ рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рдХреЛрдб рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рдирд┐рдХрд╛рд▓ рд▓реЗрдВрдЧреЗред
рд╣рдо рдмрдирд╛рддреЗ рд╣реИрдВ:
void config_text_layer(int16_t x,int16_t y,int16_t h,int16_t w, const char *font_key) { }
рдкрд╣рд▓реЗ 4 рдкреИрд░рд╛рдореАрдЯрд░ рдкрд░рдд рдмрд┐рдВрджреБ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдФрд░ рдЖрдХрд╛рд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рд╣реИрдВ, рдкрд╛рдВрдЪрд╡рд╛рдВ рдкреИрд░рд╛рдореАрдЯрд░ рдлрд╝реЙрдиреНрдЯ рд╣реИред рддрджрдиреБрд╕рд╛рд░, рд╣рдо рдЗрди рдЪрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд░рдВрднреАрдХрд░рдг рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрддреЗ рд╣реИрдВ:
text_layer = text_layer_create(GRect(x, y, h, w)); text_layer_set_font(text_layer, fonts_get_system_font(font_key));
рдФрд░ рдмрд╛рдХреА рд▓реЗрдпрд░ рд╕реЗрдЯрдЕрдк рдХреЛрдб рдХреЗ рд╕рд╛рде рдЙрдиреНрд╣реЗрдВ рд╣рдорд╛рд░реЗ рдлрдВрдХреНрд╢рди рдореЗрдВ рдбрд╛рд▓реЗрдВред рдЕрдм рдЖрдк рдЗрд╕реЗ рдЗрд╕ рддрд░рд╣ рд╕реЗ рд╕рд╣реА рдЬрдЧрд╣ рдкрд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
text_layer_destroy(text_layer); config_text_layer(5, 40, 134, 120, FONT_KEY_GOTHIC_28);
рддреЛ рдЪрд▓рд┐рдП рдЗрд╕реЗ рдХреНрд▓рд┐рдХ рдлрдВрдХреНрд╢рди рдореЗрдВ рдХрд░рддреЗ рд╣реИрдВ, рдЬрд┐рд╕реЗ рдмрдЯрди рдХреНрд▓рд┐рдХ рдХрд░рдиреЗ рдкрд░ рд╣рдо рдХрд╣рддреЗ рд╣реИрдВред рд╣рд╛рдБ, рд╣рд░ рдмрд╛рд░ рдмрдЯрди рджрдмрд╛рдП рдЬрд╛рдиреЗ рдкрд░ рдПрдХ рдкрд░рдд рдмрдирд╛рдИ рдЬрд╛рдПрдЧреА, рдЗрд╕рд╕реЗ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдЬрд╛рдБрдЪ рд╕реЗ рдмрдЪрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬреИрд╕реЗ рдХреБрдЫ:
bool first_time=true; if (first_time == true) { text_layer_destroy(text_layer); config_text_layer(5, 40, 134, 120, FONT_KEY_GOTHIC_28); first_time = false; }
рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рдкрд░реЗрд╢рд╛рди рдирд╣реАрдВ рдХрд┐рдпрд╛ред рдмреЗрд╣рддрд░ рд╣реИ рдХрд┐ рдЯрд╛рдЗрдорд░ рдХрд░реЗрдВред рдПрдкреАрдЖрдИ рдореЗрдВ рдПрдХ рдЦреЛрдЬ рдиреЗ рдлрд╝рдВрдХреНрд╢рди
app_timer_register () рджрд┐рдпрд╛ , рдЬреЛ рдПрдордПрд╕ рдореЗрдВ рдорд╛рди рдХреЗ рддрд░реНрдХ рдХреЗ рд░реВрдк рдореЗрдВ рд▓реЗрддрд╛ рд╣реИ рдЬрд┐рд╕рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЯрд╛рдЗрдорд░ рдХрд╛рдо рдХрд░реЗрдЧрд╛, рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдирд╛рдо рдЬрд┐рд╕реЗ рдЯреНрд░рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдФрд░ рдЙрд╕ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдкрд╛рд╕ рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рдбреЗрдЯрд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реВрдЪрдХ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдореБрдЭреЗ рд╕рдордЭ рдореЗрдВ рдирд╣реАрдВ рдЖрдпрд╛ рдХрд┐ рдореБрдЭреЗ рд╕реВрдЪрдХ рдХреЗ рд╕рд╛рде рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рдирд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рдХреЛрдб рдХреА рд╕реБрдВрджрд░рддрд╛ рдкрд░ рдереВрдХрдирд╛ рд╣реЛрдЧрд╛ рдФрд░ рдЗрд╕реЗ рдПрдХ рд╡реИрд╢реНрд╡рд┐рдХ рдЪрд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрд░рдирд╛ рд╣реЛрдЧрд╛:
float timer_delay=1;
рд╣рдо рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдмрдирд╛рддреЗ рд╣реИрдВ рдЬреЛ рдЯрд╛рдЗрдорд░ рдХреЛ рдХрднреА-рдХрднреА рдмрдврд╝рддреЗ рдЕрдВрддрд░рд╛рд▓ рдХреЗ рд╕рд╛рде рдХреЙрд▓ рдХрд░реЗрдЧрд╛ред
void timer_call() { text_layer_set_text(text_layer, messages[rand() % 21]); if (timer_delay < 300*100 ) { timer_delay=timer_delay/0.7; app_timer_register(timer_delay/100, timer_call, NULL); } else { timer_delay=1; } }
рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдХреЗрдВрджреНрд░ рдПрдХ рдЯрд╛рдЗрдорд░_рдбреЗрд▓ рдлрд╝реНрд▓реЛрдЯрд┐рдВрдЧ рдкреЙрдЗрдВрдЯ рдЪрд░ рд╣реИред рдЗрд╕реЗ 0.7 рддрдХ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрдм рддрдХ рдХрд┐ рдпрд╣ 30000 рддрдХ рдирд╣реАрдВ рдкрд╣реБрдВрдЪ рдЬрд╛рддрд╛ рд╣реИред рдЪрд░ рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рдирдП рдореВрд▓реНрдп рдХреЛ 100 рд╕реЗ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рджреЗрд░реА рдлрд╝рдВрдХреНрд╢рди app_timer_register рдХреЛ рдПрдХ рддрд░реНрдХ рдХреЗ рд░реВрдк рдореЗрдВ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рдЯреНрд░рд┐рдЧрд░ рд╣реЛрдиреЗ рдкрд░, рдлрд┐рд░ рд╕реЗ рдЗрд╕ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░реЗрдЧрд╛ред
рдпрд╣ рдХреЗрд╡рд▓ рдЗрд╕ рдлрд╝рдВрдХреНрд╢рди рдХреЛ
рдХреНрд▓рд┐рдХ рдореЗрдВ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдирд╛ рд╣реБрдЖ рд╣реИ
() :
void click(ClickRecognizerRef recognizer, void *context) { text_layer_destroy(text_layer); config_text_layer(5, 40, 134, 120, FONT_KEY_GOTHIC_28); timer_call(); }
рдФрд░ рдЖрдк рдкрд░рд┐рдгрд╛рдо рдХрд╛ рдЖрдирдВрдж рд▓реЗ рд╕рдХрддреЗ рд╣реИрдВ:
рдпрджрд┐ рдЖрдк рдереЛрдбрд╝рд╛ рд╕реЛрдЪрддреЗ рд╣реИрдВ рдХрд┐ рд╣рдордиреЗ рдХреНрдпрд╛ рдХрд┐рдпрд╛, рддреЛ рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рд╣рдордиреЗ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рджреБрдирд┐рдпрд╛ рдореЗрдВ рдЖрд░рдПрдирдЬреА рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдХрд┐рд╕реА рднреА рдЯреБрдХрдбрд╝реЗ рдХрд╛ рдЕрдиреБрдХрд░рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдордВрдЪ рдмрдирд╛рдпрд╛ рд╣реИред рдПрдХ рдЧреЗрдВрдж рдХреЗ рдЕрдВрджрд░ рдПрдХ рддрд░рд▓ рдкрджрд╛рд░реНрде рдореЗрдВ рдПрдХ рдмрд╣реБрдЖрдпрд╛рдореА рдЖрдХреГрддрд┐ рдХрд╛ рдЬрдЯрд┐рд▓ рдЖрдВрджреЛрд▓рди рдПрдХ рдРрд╕реА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╣реИ рдЬрд┐рд╕рдХреА рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгреА рдирд╣реАрдВ рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИред рд╕рд╛рде рд╣реА рдкрд╛рд╕рд╛ред рд╡реИрд╕реЗ, рдкрд╛рд╕рд╛! рдПрдХ рдФрд░ рдЖрд╡реЗрджрди рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рдХрд▓реНрдк рдХреНрдпрд╛ рдирд╣реАрдВ рд╣реИ?
рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╣рдбреНрдбрд┐рдпреЛрдВ рдХреЗ рдХрд┐рдирд╛рд░реЛрдВ рдкрд░ рдЪрд┐рддреНрд░ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдорд┐рд▓рд╛ рдФрд░ рднрд░ рдЖрдпрд╛ ... рдирд╣реАрдВ, рдареАрдХ рд╣реИ, рдпреЗ рднреА рдЪрд┐рддреНрд░ рд╣реИрдВред рдФрд░ рдкрд╛рд╕рд╛ рдкрд░ рднреАред рдХреЗрд╡рд▓ рдбреЙрдЯреНрд╕ рдореЗрдВ рдирд╣реАрдВред рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдореБрдЭреЗ рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛:
рдФрд░ рд╡рд╣ рд╕рдм рд╣реИред рдЬрдм рдЗрддрдирд╛ рдмрдбрд╝рд╛ рд╡рд┐рдЪрд╛рд░ рд╣реИ рддреЛ рдХреНрдпрд╛ рдкрд╛рд╕рд╛ рд╣реИред рдЪрд▓реЛ рдЗрд╕реЗ рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╣реИрдВ!
рд╕реЗрдХреНрд╕ рд░реВрд▓реЗрдЯ
рдХрд╛рд░реНрдпрдХреНрд░рдо рдХрд╛ рддрд░реНрдХ рд╡рд╣реА рд░рд╣рддрд╛ рд╣реИред рд╕рдВрджреЗрд╢ рд╕рд░рдгреА рдмрджрд▓реЗрдВ:
static const char* messages[] = {" "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," ",};
рдФрд░ рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдкрд░ рдПрдХ рд╕рдВрджреЗрд╢:
text_layer_set_text(text_layer, "Sex Roulette \n , -->");
рд╣рдо рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддреЗ рд╣реБрдП рдЧреНрд░рд╛рдлрд┐рдХ рд╕рд░рдгреА рджреНрд╡рд╛рд░рд╛ рдЗрдВрдЧрд┐рдд рдореЗрдореЛрд░реА рдореЗрдВ рдмрдирд╛рддреЗ рд╣реИрдВред рд╡рд╛рдХреНрдп рд░рдЪрдирд╛ рдмрд┐рд▓реНрдХреБрд▓ рдЙрд╕реА рддрд░рд╣ рд╣реИ рдЬреИрд╕реЗ text_layer_create:
image_layer = bitmap_layer_create(GRect(0 , 0, 144, 144));
рдмрдирд╛рдИ рдЧрдИ рдкрд░рдд рдХреЛ рдореБрдЦреНрдп рд╡рд┐рдВрдбреЛ рдкрд░рдд рдХрд╛ рдмрдЪреНрдЪрд╛ рдмрдирд╛рдПрдВред рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реИ? рдпрд╣ "рдКрдВрдЪрд╛рдИ" рдХреЛ рд╕рдорд╛рдпреЛрдЬрд┐рдд рдХрд░рддрд╛ рд╣реИ (рд╕реАрдПрд╕рдПрд╕ рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ, рдЕрдЧрд░ рдХреЛрдИ рд╕рдордЭрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЕрдиреНрдп рдкрд░рддреЛрдВ рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ рдкрд░рдд рдХрд╛ z- рд╕реВрдЪрдХрд╛рдВрдХ рд╣реИ), рдпрд╣ рдЗрд╕ рдмрд╛рдд рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдкрд░рддреЗрдВ рдПрдХ-рджреВрд╕рд░реЗ рдХреЛ рдХреИрд╕реЗ рдУрд╡рд░рд▓реИрдк рдХрд░рддреА рд╣реИрдВред рд╕рднреА рдмрдЪреНрдЪреЗ рдкреВрд░реЗ рдорд╛рддрд╛-рдкрд┐рддрд╛ рд╕реЗ рдКрдкрд░ рд╣реИрдВ рдФрд░ рдЕрдкрдиреЗ рдирд┐рд╖реНрдХрд░реНрд╖ рдХреЗ рд╕рд╛рде рдЗрд╕реЗ рдмрдВрдж рдХрд░рддреЗ рд╣реИрдВред
layer_add_child(window_get_root_layer(window), bitmap_layer_get_layer(image_layer));
рдмреНрд▓реЗрдВрдбрд┐рдВрдЧ рдореЛрдб рд╕реЗрдЯ рдХрд░реЗрдВред рдЗрд╕ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдЪрд┐рддреНрд░ рдкреГрд╖реНрдарднреВрдорд┐ рдХреЗ рд╕рд╛рде рдЕрд▓рдЧ-рдЕрд▓рдЧ рдмрд╛рддрдЪреАрдд рдХрд░реЗрдЧрд╛ред
bitmap_layer_set_compositing_mode(image_layer, GCompOpAssignInverted);
рд╕рднреА рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХрд╛ рд╡рд░реНрдгрди
рдпрд╣рд╛рдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛
рд╣реИ , рдпрд╛ рдЖрдк рдЪрд┐рддреНрд░ рдореЗрдВ рдЪрд┐рдкрдХ рд╕рдХрддреЗ рд╣реИрдВ:

рд╕реНрд░реЛрдд рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдПрдХ рдЧреНрд░рд╛рдлрд┐рдХ рдкрд░рдд рд╣реИ, рдФрд░ рдЧрдВрддрд╡реНрдп рдЗрд╕рдХрд╛ рдореВрд▓ рд╣реИ, рдЦрд┐рдбрд╝рдХреА рдХреА рдореБрдЦреНрдп рдкрд░рддред рдореЛрдиреЛрдХреНрд░реЛрдо рдЪрд┐рддреНрд░реЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╕рдордп рдпрд╣ 6 рд╡рд┐рдХрд▓реНрдкреЛрдВ рдореЗрдВ рдХрд┐рддрдирд╛ рд╕рд░рд▓ рдФрд░ рдЕрджреНрднреБрдд рд╣реИ ...
рдЕрдм рд╣рдо рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдЪрд┐рддреНрд░реЛрдВ рдХрд╛ рдЙрддреНрдкрд╛рджрди рдХрд░рдиреЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВред рдЪрд▓реЛ рдХрд┐рд╕реА рднреА рдХреНрд╡реЗрд░реА рдЬреИрд╕реЗ "
рдкреЛрдЬрд╝ рдЖрдЗрдХрди " рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рдЪрд┐рддреНрд░реЛрдВ (рджреЛ-рд░рдВрдЧ рдФрд░ рдЫреЛрдЯреЗ) рдХреЗ рд▓рд┐рдП Google рдореЗрдВ рджреЗрдЦреЗрдВред
рдЗрд╕ рд╕рд╛рдЗрдЯ рдиреЗ рдпрд╣ рдкрд╛рдпрд╛:
рд╡реЗрдХреНрдЯрд░ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ, рдХрд┐рд╕реА рднреА рд╕реАрдорд╛ рдХреЛ рд╣рдЯрд╛ рджреЗрдВ, рдЙрдЪреНрдЪ рд░рд┐рдЬрд╝реЙрд▓реНрдпреВрд╢рди рдХреЗ рд╕рд╛рде рдкреАрдПрдирдЬреА рдХреЛ рдирд┐рд░реНрдпрд╛рдд рдХрд░реЗрдВ, рдЗрд╕реЗ рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХреЗ рдЧреНрд░рд╛рдлрд┐рдХ рд╕рдВрдкрд╛рджрдХ рдореЗрдВ рдЦреЛрд▓реЗрдВред
рд╣рдо рдкреНрд░рддреНрдпреЗрдХ рддрд╕реНрд╡реАрд░ рдХрд╛ рдЪрдпрди рдХрд░рддреЗ рд╣реИрдВ, рдЕрд╕рдлрд▓ рдФрд░ рдЕрд╕рдВрдЧрдд рд▓реЛрдЧреЛрдВ рдХреЛ рд╣рдЯрд╛рддреЗ рд╣реИрдВ, рдЗрд╕реЗ рдПрдХ рд╡рд░реНрдЧ рдореЗрдВ рджрд░реНрдЬ рдХрд░рддреЗ рд╣реИрдВ, рдЗрд╕реЗ 144 рдкрд┐рдХреНрд╕реЗрд▓ рддрдХ рдХрдо рдХрд░рддреЗ рд╣реИрдВ, рдЦрд╛рдорд┐рдпреЛрдВ рдХреЛ рд╕рд╛рдл рдХрд░рддреЗ рд╣реИрдВред рд╣рдорд╛рд░реЗ рдХрд╛рдо рдХрд╛ рдкрд░рд┐рдгрд╛рдо рдЪрд┐рддреНрд░реЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рдлрд╝реЛрд▓реНрдбрд░ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП:
рдЪрд┐рддреНрд░реЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдХреЗ рд▓рд┐рдП рд╣рдо рдореЗрдиреВ рдХреЗ рд▓рд┐рдП рдПрдХ рд▓реЛрдЧреЛ рдмрдирд╛рддреЗ рд╣реИрдВ, рдЖрдХрд╛рд░ рдореЗрдВ 24x28 рдкрд┐рдХреНрд╕реЗрд▓:
->
рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ appinfo.json рдлрд╝рд╛рдЗрд▓ рдЦреЛрд▓реЗрдВ рдФрд░ рдЗрд╕рдореЗрдВ рд╣рдорд╛рд░реЗ рдмрдирд╛рдП рд╕рдВрд╕рд╛рдзрди рдЬреЛрдбрд╝реЗрдВред рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдореИрдВ рдпрд╣ рдирд╣реАрдВ рдмрддрд╛ рд╕рдХрддрд╛ рдХрд┐ рдпрд╣ CloudPebble рдореЗрдВ рдХреИрд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ - рдЗрд╕рдиреЗ рдЕрдЪрд╛рдирдХ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рдирд╛ рдмрдВрдж рдХрд░ рджрд┐рдпрд╛, рдкрд╛рд╕рд╡рд░реНрдб рд╕реНрд╡реАрдХрд╛рд░ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдФрд░ рдореЗрд░реА рд╕рднреА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рд╕реНрд░реЛрддреЛрдВ рдХреЛ рдмрдВрдж рдХрд░ рджрд┐рдпрд╛ред рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд╕рд╛рдЗрдЯ рд╕реЗ
рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдХрдВрдкреНрдпреВрдЯрд░ рдкрд░ рд╡рд┐рдХрд╛рд╕ рдкрд░реНрдпрд╛рд╡рд░рдг рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛, рдФрд░ рдореИрдВ рд╡рд╣рд╛рдВ рд▓рд┐рдЦрддрд╛ рд╣реВрдВред
рддреЛ, appinfo.json рдХреЗ рдмрд╛рд░реЗ рдореЗрдВред рдпрд╣ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:
{ "uuid": "0f7b8336-d72d-4806-9191-566ffd8f3a8c", "shortName": "SexRoulette", "longName": "SexRoulette", "companyName": "vvzvlad", "versionCode": 1, "versionLabel": "1.0.0", "watchapp": { "watchface": false }, "appKeys": { "dummy": 0 }, "resources": { "media": [ { "menuIcon": true, "type": "png", "name": "DEFAULT_MENU_ICON", "file": "img/logo.png" }, { "type": "png", "name": "POSE_1", "file": "img/1.png" },
рд╢реБрд░реБрдЖрдд рдореЗрдВ рдЖрдкрдХреЗ рдкрд░рд┐рдЪрд┐рдд рдХреНрд╖реЗрддреНрд░ рд╣реИрдВ, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдЕрд░реНрде рдмрд┐рдирд╛ рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рдХреЗ рднреА рд╕реНрдкрд╖реНрдЯ рд╣реИ, рдФрд░ рдлрд┐рд░ рдЗрд╕рдореЗрдВ рд╕рднреА 32 рдЪрд┐рддреНрд░реЛрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рд╕рдВрд░рдЪрдирд╛ рдЗрд╕ рддрд░рд╣ рд╕реЗ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП:
{ "type": "png", "name": " ", "file": "img/1.png" }, { "type": "png", "name": " ", "file": "img/1.png" }
рдЕрдВрддрд┐рдо рдмреНрд░реИрдХреЗрдЯ рдХреЗ рдмрд╛рдж, рдХреЙрдорд╛ рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рд╕рд╛рде рд╣реА рдлрд╝рд╛рдЗрд▓ рдкрддреЗ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рдмрд╛рджред рдФрд░ рдлрд╝реАрд▓реНрдб рдкреНрд░рдХрд╛рд░, рдирд╛рдо, рдлрд╝рд╛рдЗрд▓ рдХреЗ рдХреНрд░рдо рдореЗрдВ рдмрд┐рд▓реНрдХреБрд▓ рдкрд╛рд▓рди рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдпрд╣ рд▓рд╛рдирдд рд╣реИ,
рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рджрд╕реНрддрд╛рд╡реЗрдЬ рдХреЗ рд╡рд┐рдкрд░реАрдд рд╣реИ:
рдХреНрд░реИрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЧрдзреЗ рдореЗрдВ рдХреАрдмреЛрд░реНрдб! рдореИрдВ рдЙрди рд▓реЛрдЧреЛрдВ рдХреЛ рджрд╕реНрдд рдХреА рдХрд┐рд░рдгреЗрдВ рднреЗрдЬрддрд╛ рд╣реВрдВ рдЬрд┐рдиреНрд╣реЛрдВрдиреЗ рдпрд╣ рджрд╕реНрддрд╛рд╡реЗрдЬ рд▓рд┐рдЦрд╛ рдерд╛, рдореИрдВрдиреЗ рдЖрдзреЗ рдШрдВрдЯреЗ рдХреЗ рд▓рд┐рдП рдмреЗрд╡рдХреВрдл рдмрдирд╛рдпрд╛ рдФрд░ рд╕реЛрдЪрд╛ рдХрд┐ рд╡рд╣ рдХрд┐рд╕ рдмрд╛рд░реЗ рдореЗрдВ рдХреЛрд╕ рд░рд╣рд╛ рдерд╛ред рд╡рд╣ рдЗрддрдиреА рджреГрдврд╝рддрд╛ рд╕реЗ рд╢рдкрде рд▓реЗрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдпрд╣ рдирд╣реАрдВ рд╕рдордЭ рдкрд╛рдПрдВрдЧреЗ рдХрд┐ рд╡рд╣ рдЗрд╕реЗ рдкрд╕рдВрдж рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ:
Traceback (most recent call last): File "/Users/vvzvlad/Documents/PebbleSDK-2.0-BETA2/Pebble/.waf-1.7.11-478a7e7e9ed077304a8092741524bf8b/waflib/Scripting.py", line 351, in execute return execute_method(self) File "/Users/vvzvlad/Documents/PebbleSDK-2.0-BETA2/Pebble/.waf-1.7.11-478a7e7e9ed077304a8092741524bf8b/waflib/Build.py", line 106, in execute self.execute_build() File "/Users/vvzvlad/Documents/PebbleSDK-2.0-BETA2/Pebble/.waf-1.7.11-478a7e7e9ed077304a8092741524bf8b/waflib/Build.py", line 109, in execute_build self.recurse([self.run_dir]) File "/Users/vvzvlad/Documents/PebbleSDK-2.0-BETA2/Pebble/.waf-1.7.11-478a7e7e9ed077304a8092741524bf8b/waflib/Context.py", line 128, in recurse user_function(self) File "/Users/vvzvlad/Documents/PebbleSDK-2.0-BETA2/SexRoulette/wscript", line 18, in build ctx.load('pebble_sdk')
рдЦреИрд░, рдЙрд╕рдХреЗ рд╕рд╛рде рдирд░рдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕рдордЭ рдЪреБрдХреЗ рд╣реИрдВ, рдореЗрдиреВ рдХреЗ рд▓рд┐рдП рдЪрд┐рддреНрд░-рдЖрдЗрдХрди
"menuIcon" рдлрд╝реАрд▓реНрдб рдХреЗ рд╕рд╛рде рдЪрд┐рд╣реНрдирд┐рдд рд╣реИ
: рд╕рдЪ рд╣реИ , рдФрд░ рдЖрдк рдЗрд╕реЗ рдкреНрд░реЛрдЧреНрд░рд╛рдо рд╕реЗ рднреА рдПрдХреНрд╕реЗрд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдЖрдЗрдпреЗ рд╡рд╛рдкрд╕ рдЕрдкрдиреА рддрд╕реНрд╡реАрд░реЛрдВ рдкрд░ рдЖрддреЗ рд╣реИрдВред рдкреНрд░рд▓реЗрдЦрди рдЗрд╕ рддрд░рд╣ рд╕реЗ рдЫрд╡рд┐ рдЕрдкрд▓реЛрдб рдХрд░рдиреЗ рдХрд╛ рд╕реБрдЭрд╛рд╡ рджреЗрддрд╛ рд╣реИ:
image = gbitmap_create_with_resource(RESOURCE_ID_POSE_1);
рдЬреЛ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рдирд╣реАрдВ рд╣реИред рдПрдХ рдкреНрд░рдЬрд╛рддрд┐ рдХреЗ рд░рд╛рдХреНрд╖рд╕реА рдирд┐рд░реНрдорд╛рдг рдХрд╛ рдЙрдкрджреНрд░рд╡ рди рдХрд░реЗрдВ
select rand() % 31 case 1 image = gbitmap_create_with_resource(RESOURCE_ID_POSE_1); case 2 image = gbitmap_create_with_resource(RESOURCE_ID_POSE_2);
рдпрд╣ рдмрджрд╕реВрд░рдд рд╣реИред рдкреНрд░рд▓реЗрдЦрди рд╕реЗ рд╣рдо рд╕рдордЭрддреЗ рд╣реИрдВ рдХрд┐ RESOURCE_ID_POSE_2 рдХреЗрд╡рд▓ рдкреНрд░рдХрд╛рд░ uint32_t рдХрд╛ рдПрдХ рдЪрд░ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рд╕рдВрд╕рд╛рдзрди рд╕рдВрдЦреНрдпрд╛ рд╕рдВрдЧреНрд░рд╣реАрдд рд╣реИред
рд╣рдо рдЕрдкрдиреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗ рдкреНрд░рдХрд╛рд░ рдХрд╛ рдПрдХ рд╕рд░рдгреА рдмрдирд╛рддреЗ рд╣реИрдВ:
static const uint32_t images[]
рдФрд░ рд╣рдо рдЗрд╕рдореЗрдВ рдЙрди рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЛ рд╕реВрдЪреАрдмрджреНрдз рдХрд░рддреЗ рд╣реИрдВ рдЬрд┐рдирдХреА рд╣рдореЗрдВ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:
static const uint32_t images[] = {RESOURCE_ID_POSE_1,RESOURCE_ID_POSE_2,RESOURCE_ID_POSE_3,RESOURCE_ID_POSE_4,RESOURCE_ID_POSE_5,RESOURCE_ID_POSE_6,RESOURCE_ID_POSE_7,RESOURCE_ID_POSE_8,RESOURCE_ID_POSE_9,RESOURCE_ID_POSE_10,RESOURCE_ID_POSE_11,RESOURCE_ID_POSE_12,RESOURCE_ID_POSE_13,RESOURCE_ID_POSE_14,RESOURCE_ID_POSE_15,RESOURCE_ID_POSE_16,RESOURCE_ID_POSE_17,RESOURCE_ID_POSE_18,RESOURCE_ID_POSE_19,RESOURCE_ID_POSE_20,RESOURCE_ID_POSE_21,RESOURCE_ID_POSE_22,RESOURCE_ID_POSE_23,RESOURCE_ID_POSE_24,RESOURCE_ID_POSE_25,RESOURCE_ID_POSE_26,RESOURCE_ID_POSE_27,RESOURCE_ID_POSE_28,RESOURCE_ID_POSE_29,RESOURCE_ID_POSE_30,RESOURCE_ID_POSE_31,RESOURCE_ID_POSE_32,};
рдЕрдм рд╣рдо рдЙрд╕реА рддрд░рд╣ рд╕реЗ рдПрдХ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рддрд╕реНрд╡реАрд░ рдХреЛ рдкрд╛рда рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╣ рд╕рдХрддреЗ рд╣реИрдВ:
image = gbitmap_create_with_resource(images[rand() % 31]);
рд╣рдордиреЗ рдлреНрд▓реИрд╢ рдореЗрдореЛрд░реА рд╕реЗ
рдиреЛрдХреНрд╕рд┐рд╕реНрдЯреЗрдВрд╕ рдХреА рдПрдХ рддрд╕реНрд╡реАрд░ рдХреЛ рдХреЙрд▓ рдХрд┐рдпрд╛ рдФрд░ рдЗрд╕реЗ рд░реИрдо рдореЗрдВ рд░рдЦрд╛ред рдЕрдм рд╣рдореЗрдВ рдЫрд╡рд┐ рдлрд╝рдВрдХреНрд╢рди рдмрд┐рдЯрдореИрдк_рд▓реЗрдпрд░_рд╕реЗрдЯ_рдмрд┐рдЯрдореИрдк рдХреЗ рднрдВрдбрд╛рд░рдг рд╕реНрдерд╛рди рдкрд░ рдПрдХ рдкреЙрдЗрдВрдЯрд░ рдкрд╛рд╕ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЬреЛ рдЗрд╕реЗ рд╡рд╛рдВрдЫрд┐рдд рдЧреНрд░рд╛рдлрд┐рдХ рдкрд░рдд рдкрд░ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░реЗрдЧрд╛ред
рдпрд╣ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:
bitmap_layer_set_bitmap(image_layer, image);
image_layer рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ рд▓реЗрдпрд░ рдореЗрдВ рдореЗрдореЛрд░реА рдХреЗ рдПрдХ рдЯреБрдХрдбрд╝реЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреЙрдЗрдВрдЯрд░ рд╣реИ, рдФрд░
рдЗрдореЗрдЬ рдореЗрдореЛрд░реА рдореЗрдВ рдПрдХ рдкрд┐рдХреНрдЪрд░ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреЙрдЗрдВрдЯрд░ рд╣реИред
рд╕рдм рдХреБрдЫ рдкрд╕рдВрдж рд╣реИред рднрд╛рдЧреЛ!
рдШрдбрд╝реА рдиреЗ рд▓рдЯрдХрд╛ рджрд┐рдпрд╛, рдлрд┐рд░ рд░рд┐рдмреВрдЯ рдХрд┐рдпрд╛, рдФрд░ рджреВрд╕рд░реА рд╢реБрд░реБрдЖрдд рдХреЗ рдмрд╛рдж, рд╡реЗ рд░рд┐рдХрд╡рд░реА рдореЗрдВ рдЧрдП рдФрд░ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рд╛ред
рдпрд╣ рд╕рд╣реА рд╣реИ, рд╣рдо, рдкреНрд░рддреНрдпреЗрдХ рдЪрдХреНрд░ рдореЗрдВ рдПрдХ рддрд╕реНрд╡реАрд░ рдХреЛ рдореЗрдореЛрд░реА рдореЗрдВ рд▓реЛрдб рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдЗрд╕реЗ рд╡рд╣рд╛рдВ рд╕реЗ рдЙрддрд╛рд░рдирд╛ рдирд╣реАрдВ рд╣реИред рдЙрдиреНрд╣реЛрдВрдиреЗ рд░реИрдо рдХреЛ рд╕реНрдХреЛрд░ рдХрд┐рдпрд╛, рдФрд░ рдШрдбрд╝реА рдХреЛ рд▓реЛрдб рдХрд░рдиреЗ рд╕реЗ рдЗрдирдХрд╛рд░ рдХрд░ рджрд┐рдпрд╛ред
рдпрд╣
рд╕реНрдкрд╛рдЖрд░реНрдЯрд╛ рд╣реИ! embeeeeedded! рд╡реЗ рдЗрд╕реЗ рдорд╛рдл рдирд╣реАрдВ рдХрд░рддреЗред
рд╣рдо рдЗрд╕реЗ рд╕рд╣реА рдХрд░рддреЗ рд╣реИрдВред , .
gbitmap_destroy(image); image = gbitmap_create_with_resource(images[rand() % 31]); bitmap_layer_set_bitmap(image_layer, image);
image , gbitmap_destroy . App CrashedтАж
, , - . , - . :
bool first_time=true;
, :
void timer_call() { first_time = false;
gbitmap_destroy тАФ first_time == false,
text_layer_destroy config_text_layer click тАФ , first_time == true:
void timer_call() { if (first_time == false) { gbitmap_destroy(image); bitmap_layer_destroy(image_layer); } first_time = false; ..... void click(ClickRecognizerRef recognizer, void *context) { if (first_time == true) { text_layer_destroy(text_layer); config_text_layer(0, 146, 144, 168-146, FONT_KEY_GOTHIC_18); }
рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ!
, . :
text_layer_destroy(text_layer); window_destroy(window); gbitmap_destroy(image); bitmap_layer_destroy(image_layer);
gbitmap. , ! , тАФ . . тАФ , :
if (first_time == false) { gbitmap_destroy(image); }
.
#include "pebble.h" float timer_delay=1; Window *window; TextLayer *text_layer; static BitmapLayer *image_layer; static GBitmap *image; bool first_time=true; static const char* messages[] = {" "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," ",}; static const uint32_t images[] = {RESOURCE_ID_POSE_1,RESOURCE_ID_POSE_2,RESOURCE_ID_POSE_3,RESOURCE_ID_POSE_4,RESOURCE_ID_POSE_5,RESOURCE_ID_POSE_6,RESOURCE_ID_POSE_7,RESOURCE_ID_POSE_8,RESOURCE_ID_POSE_9,RESOURCE_ID_POSE_10,RESOURCE_ID_POSE_11,RESOURCE_ID_POSE_12,RESOURCE_ID_POSE_13,RESOURCE_ID_POSE_14,RESOURCE_ID_POSE_15,RESOURCE_ID_POSE_16,RESOURCE_ID_POSE_17,RESOURCE_ID_POSE_18,RESOURCE_ID_POSE_19,RESOURCE_ID_POSE_20,RESOURCE_ID_POSE_21,RESOURCE_ID_POSE_22,RESOURCE_ID_POSE_23,RESOURCE_ID_POSE_24,RESOURCE_ID_POSE_25,RESOURCE_ID_POSE_26,RESOURCE_ID_POSE_27,RESOURCE_ID_POSE_28,RESOURCE_ID_POSE_29,RESOURCE_ID_POSE_30,RESOURCE_ID_POSE_31,RESOURCE_ID_POSE_32,}; void timer_call() { if (first_time == false) { bitmap_layer_destroy(image_layer); gbitmap_destroy(image); } first_time = false; image = gbitmap_create_with_resource(images[rand() % 31]); bitmap_layer_set_bitmap(image_layer, image); text_layer_set_text(text_layer, messages[rand() % 23]); if (timer_delay < 300*100 ) /* 300... */ { timer_delay=timer_delay/0.7; /* ... ... */ app_timer_register(timer_delay/100, timer_call, NULL); /* ... */ } else /* 300... */ { timer_delay=1; /* - */ } } void config_text_layer(int16_t x,int16_t y,int16_t h,int16_t w, const char *font_key) /* , , */ { text_layer = text_layer_create(GRect(x, y, h, w)); /* , */ text_layer_set_text_color(text_layer, GColorWhite); /* */ text_layer_set_background_color(text_layer, GColorClear); /* */ text_layer_set_font(text_layer, fonts_get_system_font(font_key)); /* */ text_layer_set_text_alignment(text_layer, GTextAlignmentCenter); /* */ layer_add_child(window_get_root_layer(window), text_layer_get_layer(text_layer)); /* */ } void click(ClickRecognizerRef recognizer, void *context) /* , */ { if (first_time == true) /* ... */ { text_layer_destroy(text_layer); /* ... ... */ config_text_layer(0, 146, 144, 168-146, FONT_KEY_GOTHIC_18); /* ... */ } timer_call(); /* */ } void WindowsClickConfigProvider(void *context) /* , */ { window_single_click_subscribe(BUTTON_ID_UP, click); /* click */ window_single_click_subscribe(BUTTON_ID_SELECT, click); window_single_click_subscribe(BUTTON_ID_DOWN, click); } int main(void) { window = window_create(); /* */ window_set_background_color(window, GColorBlack); /* */ window_set_fullscreen(window, true); /* */ window_stack_push(window, true); /* */ srand(time(NULL)); /* */ window_set_click_config_provider(window, WindowsClickConfigProvider); /* , */ config_text_layer(0, 20, 144, 168, FONT_KEY_GOTHIC_24); /* */ text_layer_set_text(text_layer, "Sex Roulette \n , -->"); /* */ image_layer = bitmap_layer_create(GRect(0 , 0, 144, 144)); /* , */ layer_add_child(window_get_root_layer(window), bitmap_layer_get_layer(image_layer)); /* */ bitmap_layer_set_compositing_mode(image_layer, GCompOpAssignInverted); /* */ app_event_loop(); /* */ text_layer_destroy(text_layer); /* , */ window_destroy(window); /* , */ bitmap_layer_destroy(image_layer); /* , */ if (first_time == false) /* ... */ { gbitmap_destroy(image); /* , , - , .. */ } }
?! .
.
. 7575 :
appinfo.json, , images:
static const uint32_t images[] = {RESOURCE_ID_DICE_1,RESOURCE_ID_DICE_2,RESOURCE_ID_DICE_3,RESOURCE_ID_DICE_4,RESOURCE_ID_DICE_5,RESOURCE_ID_DICE_6,};
:
WindowsClickConfigProvider click . , ! .
:
accel_tap_service_subscribe(accel_int);
, :
void accel_int(AccelAxisType axis, int32_t direction) { if (first_time == true) { text_layer_destroy(text_layer); } timer_call(); }
: ( ) тАФ . тАФ :) .
timer_call . ( , тАФ 144144, ), . тАФ .
rand . 7575 144168. , , , 0...69(144-75) -, 0...93(168-75) y-. :
rand()%(144-75) rand()%(168-75) . :
image_layer = bitmap_layer_create(GRect(rand()%(144-75), rand()%(168-75), 75, 75));
:
if (timer_delay < 300*1000 ) { timer_delay=timer_delay/0.7; app_timer_register(timer_delay/1000, timer_call, NULL); }
100, тАФ 1000. . , , . , тАФ , , тАФ , .
, . : , . . ,
API :
light_enable(bool enable) light_enable_interaction()
. . : l
ight_enable(true) light_enable(false) , тАФ , ( ). ( , ?), . -
timer_call .
тАФ
main :
text_layer_set_text(text_layer, " ");
:
if (first_time == true) { text_layer_destroy(text_layer); } else { bitmap_layer_destroy(image_layer); gbitmap_destroy(image); } accel_tap_service_unsubscribe();
. тАФ , . тАФ , тАФ , тАФ
accel_int #include "pebble.h" float timer_delay=1; Window *window; TextLayer *text_layer; static BitmapLayer *image_layer; static GBitmap *image; bool first_time=true; static const uint32_t images[] = {RESOURCE_ID_DICE_1,RESOURCE_ID_DICE_2,RESOURCE_ID_DICE_3,RESOURCE_ID_DICE_4,RESOURCE_ID_DICE_5,RESOURCE_ID_DICE_6,}; void timer_call() { if (first_time == false) { bitmap_layer_destroy(image_layer); gbitmap_destroy(image); } first_time = false; image_layer = bitmap_layer_create(GRect(rand()%(144-75), rand()%(168-75), 75, 75)); layer_add_child(window_get_root_layer(window), bitmap_layer_get_layer(image_layer)); image = gbitmap_create_with_resource(images[rand() % 6]); bitmap_layer_set_bitmap(image_layer, image); light_enable_interaction(); if (timer_delay < 300*1000 ) { timer_delay=timer_delay/0.7; app_timer_register(timer_delay/1000, timer_call, NULL); } else { timer_delay=1; } } void accel_int(AccelAxisType axis, int32_t direction) { if (first_time == true) { text_layer_destroy(text_layer); } timer_call(); } int main(void) { window = window_create(); window_set_background_color(window, GColorBlack); window_set_fullscreen(window, true); window_stack_push(window, true); srand(time(NULL)); text_layer = text_layer_create(GRect(0 , 30, 144, 168)); text_layer_set_text_color(text_layer, GColorWhite); text_layer_set_background_color(text_layer, GColorClear); text_layer_set_font(text_layer, fonts_get_system_font(FONT_KEY_GOTHIC_28)); text_layer_set_text_alignment(text_layer, GTextAlignmentCenter); layer_add_child(window_get_root_layer(window), text_layer_get_layer(text_layer)); text_layer_set_text(text_layer, " "); accel_tap_service_subscribe(accel_int); app_event_loop(); if (first_time == true) { text_layer_destroy(text_layer); } else { bitmap_layer_destroy(image_layer); gbitmap_destroy(image); } accel_tap_service_unsubscribe(); window_destroy(window); }
рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ!
, :
рд╕рдВрджрд░реНрдн
MagicPebble mypebblefaces.com
- mypebblefaces.com
mypebblefaces.com
MagicPebble github.com
- github.com
github.com
, Pebble , . ( ┬л pebble ┬╗). , тАФ .

