Languages

Menu
Sites
Language
에니메이션 관련
안녕하세요, SDK 2.3.1을 가지고 와치 페이스 앱을 구현해보고 있습니다. edc 예제를 보고, 에니메이션을 만들어보려고 하는데, 쉽지가 않네요. 하아 collections { group { name : "layout_digital_watch"; styles { style { name: "textblock_digit_style"; base: "font=Tizen:style=Bold font_size=32 color=#ffffff align=center style=shadow,bottom shadow_color=#00000088 text_class=idle_font"; tag: "br" "\n"; tag: "hilight" "+ font_weight=Bold"; tag: "b" "+ font_weight=Bold"; tag: "tab" "\t"; } } parts{ part { name: "bg_image"; type: SWALLOW; scale: 1; description { state: "default" 0.0; visible: 1; rel1 { relative: 0.0 0.0;} rel2 { relative: 1.0 1.0;} map { on: 1; smooth: 1; perspective_on: 1; rotation { z: 0; x: 0; y: 0; } } } } part { name: "light"; type: SWALLOW; scale: 1; description { state: "default" 0.0; visible: 0; rel1 { relative: 0.0 0.0;} rel2 { relative: 1.0 1.0;} } description { state: "turnon" 0.0; inherit: "default" 0.0; visible: 1; } } part { name: "textblock_time"; type: TEXTBLOCK; effect: SHADOW BOTTOM; scale: 1; description { state: "default" 0.0; rel1 { relative: 0.0 0.2; to: "bg_image"; } rel2 { relative: 1.0 0.2; to: "bg_image"; } fixed: 1 1; visible: 1; color: 255 255 255 255; align: 0.5 0.5; text{ text: ""; style: "textblock_digit_style"; min: 0 1; align: 0.5 0.5; } } } part{ name: "default_text_date"; type: TEXT; effect: SHADOW BOTTOM; scale: 1; description{ state: "default" 0.0; color: 255 255 255 255; rel1 { relative: 0.0 0.8; to: "bg_image"; } rel2 { relative: 1.0 0.8; to: "bg_image"; } align: 0.5 0.0; text{ text: ""; font: TIZEN_SANS":style=Regular"; text_class: "tizen"; min: 0 1; size: 24; align: 0.5 0.5; } visible: 1; } } } //parts end programs{ program { name: "animation,light0"; source: ""; signal: ""; action: STATE_SET "default" 0.0; target: "light"; transition: LINEAR 2; after:"animation,light1"; } program { name: "animation,light1"; source: "light"; signal: "animation,play"; action: STATE_SET "turnon" 0.0; target: "light"; transition: LINEAR 2; after:"animation,light0"; } } } //group end } 위의 edc를 짰고요, 아래 코드를 통해서, 이미지를 bg로 넣어줬습니다. 왜냐하면, edc에서 이미지를 넣는 방법을 예시를 따라 해봤지만, 이미지를 찾지 못하겠다고 하고 다른 방법으론 이미지를 넣는 방법을 찾을 수가 없어서이지요. static Evas_Object *_create_background(appdata_s *ad) { Evas_Object *bg = NULL; Eina_Bool ret = EINA_TRUE; bg = elm_bg_add(ad->layout); ret = elm_bg_file_set(bg, IMG_DIR"bg2.jpg", NULL); retvm_if (!ret, NULL,"Fail to set the background image" ); elm_bg_option_set(bg, ELM_BG_OPTION_CENTER); elm_object_part_content_set(ad->layout, "bg_image", bg); evas_object_show(bg); return bg; } static Evas_Object *_create_light(appdata_s *ad) { Evas_Object *light = NULL; Eina_Bool ret = EINA_TRUE; car = elm_bg_add(ad->layout); ret = elm_bg_file_set(light, IMG_DIR"bg_light.png", NULL); retvm_if (!ret, NULL,"Fail to set the background image" ); elm_bg_option_set(light, ELM_BG_OPTION_CENTER); elm_object_part_content_set(ad->layout, "light", light); evas_object_show(light); return light; } void play_light_animation(appdata_s *ad){ edje_object_signal_emit(elm_layout_edje_get(ad->layout), "animation,play", "light"); } 그리고는, 위와 같은 코드를 통해서 에니메이션을 실행시킵니다. 제가 하고 싶은 건, 상위에 있는 이미지가 서서히 나타났다가 서서히 사라지는 것인데요, 위의 코드로는 생각처럼 되질 않네요. 어떻게 하면, 이미지가 서서히 나타났다가 서서히 사라질 수 있을 까요? 두번째 질문으로는, light를 생성할 때에, 투명 이미지로 만들어서 적용을 해보았는데요, 전혀 투명하지가 않더라고요. 어떻게 하면 투명 png 파일을 적용할 수 있을까요? 세번째로는, 에뮬레이터로 확인하기에는, 에니메이션을 실행하면, default_text_date 파트와 textblock_time 파트가 계속해서 불안하게 껌뻑껌뻑 거리는데요. 이건 왜 그러는 걸까요? 아직 기어S2를 연결을 못해봐서, 에뮬레이터로만 확인하고 있는데요, 에뮬레이터의 문제일까요? 감사합니다.

Responses

1 Replies
Jeongsu Kim

1. 이미지가 서서히 나오게 하려면

edc상에 "light" part의 description을 보면 visible:0, visible: 1로 제어를 하고 있는데 이 값은 중간값이 없기 때문에 보였다/안보였다 밖에 안됩니다. 저 속성 대신에
color: 255 255 255 0, color: 255 255 255 255; 처럼 해당 part의 alpha를 제어하면 의도한 동작이 나올 것 같습니다.

 

2. 투명 이미지

elm_bg_add로 넣으셨던데 bg는 alpha를 지원하지 않습니다. elm_image_add 로 넣으세요.