菜单

03 用代码编写动画

下载

用代码编写动画最自由,只要是可以控制的属性均可以用代码方式实现动画:如位置,大小,背景色,文字颜色,透明度,线的组细等

1.放入一个控件

此处以【文字】控件为例,右键查看源代码

2.让控件的x坐标从0到500循环运行,每个循环为10000毫秒

2.1写一个动画的回调函数

static void valuecb(void* obj, int32_t v) {
    STTWidget* widget = (STTWidget*)obj;
    widget->setX(v);//X坐标不停的变化
}

2.2在onLoad方法中启动动画

onLoad方法:在页面加载完成后执行

//wMLabel6为上面放入的控件ID,修改成你的控件id

wMLabel6->getStyle()->p_anim->doAnim(wMLabel6, 0, 500, 10000, valuecb, NULL);

 

2.3代码截图如下

3.运行

------------------------------------注意线-------------------------------------

一个控件可多个动画并行执行,如增加y方向从0到100变化,增加后的代码如下

static void valuecb(void* obj, int32_t v) {
STTWidget* widget = (STTWidget*)obj;
widget->setX(v);//X坐标不停的变化
}
 
static void valuecb2(void* obj, int32_t v) {
STTWidget* widget = (STTWidget*)obj;
widget->setY(v);//Y坐标不停的变化
}
 
void Frm01::onLoad(){
wMLabel6->getStyle()->p_anim->doAnim(wMLabel6, 0, 500, 10000, valuecb, NULL);
wMLabel6->getStyle()->p_anim->doAnim(wMLabel6, 0, 100, 10000, valuecb2, NULL);
}
最近修改: 2026-01-16Powered by