USART HMI 资料中心

官方技术交流QQ群:916560014

站点工具


目录索引

5.控件详解:27.动画控件

动画控件使用说明



名称操作版本日期
说明编辑
《动画控件使用说明》创建中V1.02019-01-17第一次编辑完成,正式发布。lyh
《动画控件使用说明》修订V1.12020-08-29补充本空间中所有属性详解qjj



【目录】

一、动画控件-概述

二、动画控件-简单使用

三、动画控件-属性详解

3.1、控件属性描述

3.2、控件属性编辑

      3.2.1、编辑属性   

      3.2.2、读属性

      3.2.3、写属性

3.3 、属性详解

      3.3.1、x,y属性

      3.3.2、w,h属性

      3.3.3、time属性

      3.3.4、first属性

      3.3.5、effect属性

      3.3.6、aph属性

      3.3.7、drag属性

      3.3.8、vscope属性

      3.3.9、objname属性

      3.3.10、id属性

      3.3.11、type属性

      3.3.12、disup属性

      3.3.13、vid属性

      3.3.14、en属性

      3.3.15、loop属性

      3.3.16、dis属性

      3.3.17、tim属性

      3.3.18、stim属性

      3.3.19、qty属性

四、动画控件-使用详解

4.1、在页面上新建动画控件

4.2、动画控件外观调整

4.3、运行中改变动画控件播放状态

4.4、动画控件加载特效设置

4.5、动画控件移动特效使用

4.6、动画控件实战使用


一、动画控件-概述

1.1、动画控件是串口屏诸多功能控件里面的其中一个。

1.2、用于在串口屏上播放动画。

1.3、在《USART HMI》软件左侧工具箱里面。

注:仅x系列支持

       动画控件特有播放完成事件

其他系列产品可通过定时器切换图片来实现。 例程:点击下载

图片1.png


二、动画控件-简单使用

用动画控件,做自己的第一个显示工程(如下图所示)。

图片3.png

▲一个纯色页面使用<动画控件>显示动画

x系列开机动画


三、动画控件-属性详解

串口屏所有控件操作的实质都是对属性的修改。动画控件具有的属性如下表所示。

图片2.png

3.1、控件属性描述

      如下图所示,当鼠标选中对应属性时,会在属性窗口的最下方出现该属性的详细描述信息。

图片6.png

3.2、控件属性编辑

      3.2.1、编辑属性

      用户可以随时调整、编辑列表中的属性参数。

      注意:type和id属性由开发环境指定,用户不可修改。id可通过软件置顶置底间接修改

      3.2.2、读属性

      如上图所示的控件属性列表,可以在设备运行中随时读取。

      sys0=gm0.id        将动画控件gm0的id号赋值给sys0变量
      gm0.x+=10             将控件在屏幕上的位置向右移动10个像素点。
      prints gm0.vid,0       将gm0的动画id从串口发送出去。

      注意:objname属性不可以读取。比如在事件代码中写"gm0.x=t0.objname"编译将报错

      3.2.3、写属性

      所有绿色控件可以在运行中实时修改。

      注意:因产品系列不同,属性的写权限也不完全相同。比如X系列可以在运行该过程中修改x,y属性。但是T0,K0系列不能在运行过程中修改x,y属性

3.3 、属性详解

      3.3.1、x,y属性

      x,y属性描述控件在屏幕上的像素坐标位置。以屏幕左上角为像素坐标原点(x=0,y=0)。

      T0,K0系列产品,x,y属性只能从:0–最大分辨率。不能超出屏幕显示区域。

      X系列产品,x,y属性可以超出屏幕坐标范围(-6000~+6000),但是超出屏幕将被裁减,不会显示出来。

      技巧:如果想做一个控件,但是不想让用户看到,触摸到。可以把该控件放在屏幕显示区域以外。开发人员使用的时候,使用click指令,

或者绑定用户IO

      3.3.2、w,h属性

       w,h属性描述控件在屏幕上宽度和高度(像素大小为单位)。

      T0,K0系列产品,w,h属性只能从:0–最大分辨率。不能超出屏幕显示区域。

      X系列产品,x+w,y+h的值可以超出屏幕坐标范围,但是超出屏幕将被裁减,不会显示出来。

      3.3.3、time属性

            time属性。控件特效执行时间属性。仅X系列支持,且effect设置不为0以后才存在该属性。

            当设置了控件的加载特效以后,控件在time的时间内,以设置的特效方式飞到控件所在屏幕的坐标位置。

      3.3.4、first属性

            first属性。控件加载特效的优先级属性。仅X系列支持,且effect设置不为0以后才存在该属性。

            first可设置的值为0-100。支持多个有特效的控件为同一级别优先级。同一优先级的控件,将在同时被加载到屏幕上显示。

            不同优先级的优先级中,将根据设置值从大到小依次完成加载。

      3.3.5、effect属性

            effect属性。控件加载特效属性。目前一共支持9种效果。仅X系列支持该属性

            0-立即加载;1-上边飞入;2-下边飞入;3-左边飞入;4-右边飞入;5-左上角飞入;6-右上角飞入;7-左下角飞入;8-右下角飞入

      3.3.6、aph属性

            aph属性。控件半透明属性。仅X系列支持

            aph可设置的值范围为0-127 。为0时控件将全透明(效果为不显示),为127时全显示(没有半透明效果);

      3.3.7、drag属性

            drag属性。控件运行过程中是否支持拖动属性。仅X系列支持

      3.3.8、vscope属性

            vscope属性。控件内存占用属性。控件支持私有和全局属性。

            当设置为全局时,控件分配的内存在所有页面都可以访问。离开当前页面后,控件属性数据也不会丢失。缺点是,占用系统总内存。

      3.3.9、objname属性

            objname属性。控件名称属性。该属性在运行中不能获取。

      3.3.10、id属性

            id属性。控件id是每个控件在当前页面的唯一标识号。由系统分配,不可修改。可通过软件左上角置顶置底间接修改。

      3.3.11、type属性

            type属性。控件类型属性。由系统分别固定数据,比如动画控件属性为2。

        3.3.12、disup属性

            disup属性。产生拖动后是否禁用弹起事件:0-否;1-是。默认为否,即拖动的时候是会触发弹起事件。仅当drag=是时,才存在该属性。

      3.3.13、vid属性

            vid属性。动画ID。用户指定一个动画文件资源作为动画播放

      3.3.14、en属性

            en属性。播放状态(0-停止;1-播放;2-暂停)。

      3.3.15、loop属性

            loop属性。循环播放:0-否;1-是。

      3.3.16、dis属性

            dis属性。播放速度百分比(最小10,最大1000)。

      3.3.17、tim属性

            tim属性。当前播放时间(ms)。

      3.3.18、stim属性

            stim属性。总时间(由视频文件决定,不可设置,运行中可获取)。

      3.3.19、qty属性

            qty属性。总帧数(由视频文件决定,不可设置,运行中可获取)。


四、动画控件-使用详解

4.1在页面上新建动画控件

参考文本控件

image.png

image.png

1、打开一个新的空白界面▲

2、点击左侧<工具箱>里面的<文本>按钮,当前页面出现一个文本框▲

注:动画控件会根据动画id分辨率自动调整控件大小。

软件有专门动画制作工具 点击前往


4.2、动画控件外观调整

上一步我们创建了一个动画控件,现在我们编辑视频控件的外观(显示效果)。

4.2.1调整位置和尺寸

将动画控件移显示区中心位置。

I.新添加上“动画控件”预览II.摆放到指定位置III.操作说明
图片1.png图片2.png

▷移动位置:鼠标选中控件,拖到需要摆放的位置。



4.3、运行中改变动画控件播放状态

4.3.1通过“按下或弹起事件”改变当前页面中动画控件播放状态 

例(1):按下当前页面中的按钮,让当前页面中的动画控件gm0动画暂停

按钮“弹起事件 或 按下事件”里面代码如下:

gm0.en=2

代码解释:

 gm0  :当前页面中,控件名称为 gm0 的动画控件

 .en :动画控件 gm0 属性列表中的其中一个属性,用于改变播放状态

 = :C语言赋值符号

 2 :2 为数值


4.3.2通过“按下或弹起事件”改变其他页面中动画控件播放状态 

例(2):按下当前页面中的按钮,让其他页面(页面名称叫 set)中的动画控件gm0动画暂停。

按钮“弹起事件/或按下事件”里面代码如下:

set.gm0.en=2

代码解释:

 set :页面名称

 .gm0 :set页面中名字为 gm0 的动画控件

 .en 动画控件 gm0 属性列表中的其中一个属性,用于改变播放状态

 = :C语言赋值符号

 2 :2 为数值


 4.3.3通过单片机串口改变当前页面中动画控件播放状态 

示例(1):串口发送数据让当前页面中的动画控件gm0动画暂停。

串口发送数据代码:

Serial.print("gm0.en=2");
Serial.write(hexEND,3);

代码解释:

 Serial.print();  单片机串口发送字符串函数

 "gm0.en=2"  需要发给屏的C语言字符串命令

 Serial.write();  单片机串口发送16进制函数

 hexEND,3  提前定义好的元素为3个16进制 0xff 的数组


 4.3.4通过单片机串口改变其他页面中动画控件播放状态

示例(2):串口发送数据让其他页面(页面名称叫 set)中的动画控件gm0动画暂停

串口发送数据代码:

Serial.print("set.gm0.en=2");
Serial.write(hexEND,3);

代码解释:

 Serial.print();  单片机串口发送字符串函数

 "set.gm0.en=2"  需要发给屏的C语言字符串命令,其中 set 是页面名称。

 Serial.write();  单片机串口发送16进制函数

 hexEND,3  提前定义好的元素为3个16进制 0xff 的数组


4.3.5通过串口助手改变当前页面中动画控件播放状态 

示例(1):串口发送数据让当前页面中的动画控件gm0动画暂停。

串口助手发送数据代码:

gm0.en=2
ff ff ff


串口助手截图操作说明
图片1.png

① 选择串口号(选择你电脑连接屏使用的串口号)

② 设置波特率

图片2.png图片2.png

③ 输入字符串指令

④ 输入16进制结束符


4.3.6通过串口助手改变其他页面中动画控件播放状态 

示例(2):串口发送数据让其他页面(页面名称叫 set)中的动画控件gm0动画暂停。

串口发送数据代码:

set.gm0.en=2
ff ff ff


串口助手截图操作说明
图片1.png

① 选择串口号(选择你电脑连接屏使用的串口号)

② 设置波特率

图片1.png图片2.png

③ 输入字符串指令

④ 输入16进制结束符


4.4、动画控件加载特效设置

参考文本控件

注:此功能目前只有【X3系列 和 X5系列】产品支持

加载特效示意图属性设置操作说明

image.png

控件设置加载特效后,当控件所在页面刷新时,控件会按照设置的加载方式呈现出来。


注:由于本页面不支持视频,无法展示动态效果。只能用图文简要说明。不便之处敬请谅解。


image.png

▷属性设置方法:

控件加载特效默认是“立即加载”即无特效。

鼠标单击选中控件 → 在属性列表中找到“加载特效”选项(如左图①所示)并点击箭头处,会弹出下来列表(如图②所示),选择一个你想要的的加载方式,即完成控件加载特效设置。


▷其他:

你可能已经注意到了,“加载特效”这个属性是绿色,也就是说屏在运行时加载特效是允许改变的。加载特效的改变方法和改变文本控件背景色的操作一致,唯一不同的是“属性名称不一样”参数不一样。


4.5、文本控件移动特效使用

参考文本控件

文本控件移动示例:

注:此功能目前只有【X3系列 和 X5系列】产品支持

加载特效示意图移动指令操作说明

酷 

无 法 展示

(请自行测试)

① 可视化移动指令格式:


move obj,starx,stary,endx,endy,first,time

obj:控件名称或控件ID

starx:起始坐标X

stary:起始坐标Y

endx:结束坐标X

endy:结束坐标Y

first:优先级(0-100,数字越大优先级越大)

time:移动时间(单位ms)

, :分隔符


② 无过程移动指令格式:


obj.x=x

obj:控件名称

.x:控件X坐标属性

=:赋值符号

x:终点x坐标


obj.y=y

obj:控件名称

.y:控件X坐标属性

=:赋值符号

y:终点y坐标



▷ 可视化移动操作说明

① 将 t0 控件从当前位置可视化移动到t1位置(假设页面上有一个控件叫做 t1),指令如下:

move t0,t0.x,t0.y,t1.x,t1.y,0,300

代码注释:控件t0可视化移动方式,移动到t1的位置,无优先级,移动时间300ms


② 将 t0 控件从当前位置可视化移动到指定位置(位置:x坐标 200,y坐标 100),指令如下:

move t0,t0.x,t0.y,200,100,0,300

代码注释:控件t0可视化移动方式,移动到x坐标为200,y坐标为100的位置,无优先级,移动时间300ms


③ 将t0移动到显示区外面去(假如水平移到最右侧外面,以4.3寸屏为例)指令如下:

move t0,t0.x,t0.y,481,t0.y,0,300

代码注释:控件t0可视化移动方式,x坐标位481,y坐标保持现有坐标不变,移动事件300ms。(备注:4.3寸屏的分辨率480X272,当X坐标设置为481时,就会看到控件从当前位置向右移动到屏幕外面去,这个过程耗时300ms)


!!!注意: 可视化移动模式,最小移动时间限制到150ms,因为时间太短就看不出来移动效果了。


▷ 无过程移动操作说明

① 将 t0 控件从当前位置无过程移动到t1位置(假设页面上有一个控件叫做 t1),指令如下:


t0.x=t1.x
t0.y=t1.y

代码注释:把t1的x坐标和y坐标赋值给,t0的x坐标和y坐标。


② 将 t0 控件从当前位置无过程移动指定位置(位置:x坐标 200,y坐标 100),指令如下:

t0.x=200
t0.y=100

代码注释:给t0的x坐标和y坐标直接赋值。


③ 将t0无过程移动到显示区外面去(水平右侧外面,以4.3寸屏为例)指令如下:

t0.x=801

代码注释:给t0的x坐标直接赋值,由于y坐标不变,y坐标不用赋值。


特别说明:

控件移动只是移动位置,控件的所有功能不会因为移动而改变,非常方便有运行中移动空加需求的场景使用(例如:密码键盘、操作菜单等等)

控件移出显示区,根据自己需要使用。

另外,如果您只是想不让控件显示出来,可以用隐藏指令,不需要用移动指令。点击查阅【隐藏指令】的使用




4.6、动画控件实战使用

动画控件使用类似于视频控件,只是使用不同控件调用不同资源文件而已

X5出厂样例视频功能实现      点击下载


素材说明

通过按钮控件暂停,继续播放视频;快进,后退视频。

通过滑块控件视频亮度调节,声音调节。

END


5.控件详解/27.动画控件.txt · 最后更改: 2020/08/29 09:56 由 tjcqiu        浏览次数:434/3111385(本页/全站)