网站功能规划,通州 网站建设,wordpress发布十万篇文章,广州部队网站建设费用最近在搞LVGL动画内容#xff0c;发现网上能参考的资源太少了。现将自己学习到的内容做个笔录#xff0c;仅供自己记录#xff0c;若对你有帮助#xff0c;那么最好不过#xff0c;共勉#xff01;
首先#xff0c;我是在CodeBlock上仿真 #define PI 3.14159265359stat…最近在搞LVGL动画内容发现网上能参考的资源太少了。现将自己学习到的内容做个笔录仅供自己记录若对你有帮助那么最好不过共勉
首先我是在CodeBlock上仿真 #define PI 3.14159265359static void arc_path_cb(void* obj, int32_t v) {lv_obj_t* target (lv_obj_t*)obj;// 圆心坐标和半径int cx 50; // 圆心 X 坐标int cy 40; // 圆心 Y 坐标int r 120; // 半径float angle v * PI / 180.0;lv_coord_t x cx r * cos(angle);lv_coord_t y cy r * sin(angle);lv_obj_set_pos(target, x, y);
}void create_arc_move_loop(lv_obj_t* parent) {lv_obj_t* obj lv_obj_create(parent);lv_obj_set_size(obj, 50, 50);lv_obj_set_style_bg_color(obj, lv_color_hex(0xFF0000), 0);lv_obj_align(obj, LV_ALIGN_CENTER, 0, 0);lv_anim_t a;lv_anim_init(a);lv_anim_set_var(a, obj);lv_anim_set_exec_cb(a, arc_path_cb);lv_anim_set_time(a, 3000); // 动画时间3000mslv_anim_set_values(a, 0, 200); lv_anim_set_repeat_count(a, LV_ANIM_REPEAT_INFINITE); // 无限循环lv_anim_start(a);
}void lv_example_arc_move_loop(void) {lv_obj_t* scr lv_scr_act();lv_obj_t* btn lv_obj_create(scr);lv_obj_set_size(btn,50,50);lv_obj_set_style_bg_color(btn, lv_color_hex(0x00ff00), 0);lv_obj_set_pos(btn, 300, 200);create_arc_move_loop(scr);
}