动画操作
2022-12-22 13:59:33 最后更新
用法:

// 创建动画对象
是 dh = 工具.动画()

// 渐变透明度动画,1 代表不透明,0代表透明;还可以设置0.5等半透明
是 jbtm = dh.渐变透明(1, 0)
// 持续时长
jbtm.持续时长(2000)
// 设置控件执行动画
视图.图像(资源.编号.tx1).动画(jbtm)

//创建一个渐变尺寸伸缩动画
//0为没有,2.5为原始2.5倍
是 jbss = dh.渐变伸缩(0.5, 2.5, 0.5, 2.5)
// 持续时长
jbss.持续时长(2000)
// 设置控件执行动画
视图.图像(资源.编号.tx1).动画(jbss)

位置类型:
0 默认
1 以对象本身为基准位置类型
2 以父控件为基准位置类型

//输入X开始尺寸比例,输入X结束尺寸比例,输入Y开始尺寸比例,输入Y结束尺寸比例,输入X位置类型,输入X坐标的开始位置,输入Y位置类型,输入Y坐标的开始位置
是 jbss2 = dh.渐变伸缩(0.5, 2.5, 0.5, 2.5, 1, 0.5, 1, 0.5)
// 持续时长
jbss2.持续时长(2000)
// 设置控件执行动画
视图.图像(资源.编号.tx1).动画(jbss2)

//创建一个画面位置移动动画
//输入开始X坐标上的移动位置,结束X坐标上的移动位置,开始Y坐标上的移动位置,结束Y坐标上的移动位置
是 wzyd = dh.位置移动(30, 80, 30, 80)
// 持续时长
wzyd.持续时长(2000)
// 设置控件执行动画
视图.图像(资源.编号.tx1).动画(wzyd)

//创建一个画面旋转动画
//输入动画开始的旋转角度,输入动画旋转到的角度
是 xz = dh.旋转(0, 180)
// 持续时长
xz.持续时长(2000)
// 设置控件执行动画
视图.图像(资源.编号.tx1).动画(xz)

位置类型:
0 默认
1 以对象本身为基准位置类型
2 以父控件为基准位置类型

//输入动画开始的旋转角度,输入动画旋转到的角度,输入X位置类型,输入X坐标的开始位置,输入Y位置类型,输入Y坐标的开始位置
是 xz = dh.旋转(0, 180, 1, 0.5, 1, 0.5)
// 持续时长
xz.持续时长(2000)
// 设置控件执行动画
视图.图像(资源.编号.tx1).动画(xz)

// 开始使用 动画集合
是 jh = dh.集合(false)

// 渐变透明度动画
是 jbtm = dh.渐变透明(1, 0)
// 持续时长
jbtm.持续时长(2000)
jh.添加(jbtm)

//渐变尺寸伸缩动画
是 jbss = dh.渐变伸缩(0.5, 2.5, 0.5, 2.5)
// 持续时长
jbss.持续时长(2000)
jh.添加(jbss)

//画面位置移动动画
是 wzyd = dh.位置移动(30, 80, 30, 80)
// 持续时长
wzyd.持续时长(2000)
jh.添加(wzyd)

//画面旋转动画
是 xz = dh.旋转(0, 180)
// 持续时长
xz.持续时长(2000)
jh.添加(xz)

// 添加动画集合完毕后执行这个动画集合
// 设置控件执行动画
视图.图像(资源.编号.tx1).动画(jh)

说明:
常用于动画集合执行。

提示:
动画集合允许被其他动画集合添加成为子动画。

提示:
动画集合如果设置了动画控制属性,同时也会重置所有子控件的属性。

// 开始使用 动画队列执行

//旋转动画
//输入控件ID或控件对象,输入动画类型,输入旋转角度数组...(可输入N个参数)
是 sz = { 60, 180 }
是 xz = dh.队列(资源.编号.tx1, "rotation", sz)
//s sz2 = { 30, 80, 60, 20, 60 }
//dh.队列(资源.编号.tx1, "rotationX", sz2)
//s sz3 = { 30, 80 }
//dh.队列(资源.编号.tx1, "rotationY", sz3)
// 持续时长
xz.持续时长(2000)
// 开始
xz.开始()

//伸缩动画
//输入控件ID或控件对象,输入动画类型,输入伸缩尺寸比例数组...(可输入N个参数)
是 sz4 = { 1.5, 2.5 }
是 ssdh = dh.队列(资源.编号.tx1, "scaleX", sz4)
//s sz5 = { 1.5, 2.5, 1.2, 2.6, 1.3 }
//dh.队列(资源.编号.tx1, "scaleY", sz5)
// 持续时长
ssdh.持续时长(2000)
// 开始
ssdh.开始()

//移动动画
//输入控件ID或控件对象,输入动画类型,输入移动到位置数组...(可输入N个参数)
是 sz6 = { 0, 60 }
是 yddh = dh.队列(资源.编号.tx1, "translationX", sz6)
//s sz7 = { 0, 60, 30, 10, 60 }
//dh.队列(资源.编号.tx1, "translationY", sz7)
// 持续时长
yddh.持续时长(2000)
// 开始
yddh.开始()

//透明度
//输入控件ID或控件对象,输入动画类型,可见度比例数组(0.0至1.0)...(可输入N个参数)
是 sz8 = { 1, 0.3, 1, 0.2, 1 }
是 tm = dh.队列(资源.编号.tx1, "alpha", sz8)
// 持续时长
tm.持续时长(2000)
// 开始
tm.开始()

// 开始使用 队列动画集合

//旋转动画
是 sz9 = { 60, 180 }
是 xz = dh.队列(资源.编号.tx1, "rotation", sz9)
// 持续时长
xz.持续时长(2000)

//伸缩动画
是 sz10 = { 1.5, 2.5 }
是 ssdh = dh.队列(资源.编号.tx1, "scaleX", sz10)
// 持续时长
ssdh.持续时长(2000)

//移动动画
是 sz11 = { 0, 60 }
是 yddh = dh.队列(资源.编号.tx1, "translationX", sz11)
// 持续时长
yddh.持续时长(2000)

//透明度
是 sz12 = { 1, 0.3, 1, 0.2, 1 }
是 tm = dh.队列(资源.编号.tx1, "alpha", sz12)
// 持续时长
tm.持续时长(2000)

// 设置数组
是 sz = { xz, ssdh, yddh, tm }

//队列顺序执行
是 dlsx = dh.队列顺序(sz)

//队列同时执行
是 dlts = dh.队列同时(sz)
//dlts.开始()

// 开始执行动画
dlsx.开始()

说明:
常用于动画集合执行。

提示:
队列动画集合允许被其他队列动画集合添加成为子动画。

提示:
动画集合如果设置了动画控制属性,同时也会重置所有子控件的属性。

// 开始使用 动画控制

// 位置移动动画
是 wzyd = dh.位置移动(30, 80, 30, 80)

// 取消
wzyd.取消()

// 重置属性
wzyd.重置()

// 开始
wzyd.开始()

// 持续时长
wzyd.持续时长(2000)

// 延迟执行
wzyd.延迟执行(1000)

// 启用动画结束填充效果
wzyd.启用填充(true)

// 动画执行后,控件停留执行结束状态
wzyd.停留结束状态(true)

// 动画执行后,控件停留执行开始状态
wzyd.停留开始状态(true)

// 动画重复执行的次数
wzyd.重复执行(6)

// 动画集合添加动画,仅用于动画集合
是 jh = dh.集合(false)
jh.添加(wzyd)

// 动画监听事件
jh.动画事件
{
//当结束动画时
工具.输出("End")
},
{
//当重复动画时
工具.输出("Repeat")
},
{
//当启动动画时
工具.输出("Start")
}

是 sz9 = { 60, 180 }
// 旋转动画
是 xz = dh.队列(资源.编号.tx1, "rotation", sz9)

// 取消
xz.取消()

// 开始
xz.开始()

// 持续时长
xz.持续时长(2000)

// 延迟执行
xz.延迟执行(1000)

// 是否正在运行
是 zzyx = xz.正在运行()

// 设置动画执行的控件
xz.kj(资源.编号.tx1)

// 克隆动画
是 kl = xz.克隆()

// 动画监听事件
xz.动画监听事件{
//当结束动画时
工具.输出("End")
},
{
//当重复动画时
工具.输出("Repeat")
},
{
//当启动动画时
工具.输出("Start")
},
{
//当取消动画时
工具.输出("Cancel")
}

// 开始使用 动画背景
//创建动画背景
//输入是否重复执行
是 dhbj = dh.动画背景(true)

//添加元素
//输入背景图像或图片变量或背景对象,输入显示时长
dhbj.添加("@t1.png", 1000)
dhbj.添加("%t2.png", 1000)
dhbj.添加(资源.图像.t3, 1000)

//设为指定控件背景
视图.图像(资源.编号.tx1).背景(dhbj)

//开始动画
dhbj.开始()

//停止动画
dhbj.停止()

//是否在运行
是 zzyx = dhbj.正在运行()