【RM2021-自定义UI开源】山东理工大学
![rjgawuie](https://hz-rm-bbs-web-prod.oss-cn-hangzhou.aliyuncs.com/avatar/pre/v1/000052014_avatar_big.jpg)
首先感谢论坛里其他几位坛友的帖子,参考了他们的帖子之后,反复折腾了3,4天,终于把自定义UI调出来了,尽管目前还是有一些小问题,但是还算是能用。。:lol(求大佬轻喷)
因为要通过UI向操作手反馈一些数据,所以UI的存在还是很有必要的,于是我开始上手扒裁判系统的协议。这个协议和TCP/IP协议类似,但是简单很多,所以构思并不费劲,但是邪门的是我自己写的数据结构居然 不 能 用。。。反复折腾了几天,最后终于还是把官方协议手册上的结构体拷上去了。
工欲善其事必先利其器,看到不少RM战友还是没能调出自定义UI来,所以说我把这些代码封装成库的形式,供大家使用。
这些代码都是在联盟赛程序上扒下来的,修改了一些小地方,还没经过测试。
另外,这个库无法在客户端界面上画出字符和浮点型数据,还有无法一次性刷新7个图形,希望大佬们修改以后拜托一定要回帖告知原因,球球了。
废话不多说,直接开始正题
先上示例代码
文件开头部分
#include "RM_Cilent_UI.h"
#include "string.h"
Graph_Data G1,G2,G3,G4,G5;
main函数内容
memset(&G1,0,sizeof(G1));
memset(&G2,0,sizeof(G2));
memset(&G3,0,sizeof(G3));
memset(&G4,0,sizeof(G4));
memset(&G5,0,sizeof(G5));
Line_Draw(&G1,"001",UI_Graph_ADD,9,UI_Color_Orange,3,960,570,960,200);
Rectangle_Draw(&G2,"002",UI_Graph_ADD,9,UI_Color_Pink,5,700,450,1000,650);
Arc_Draw(&G3,"003",UI_Graph_ADD,9,UI_Color_Green,70,180,5,960,400,80,80);
Circle_Draw(&G4,"004",UI_Graph_ADD,9,UI_Color_Cyan,8,700,700,100);
Line_Draw(&G5,"001",UI_Graph_ADD,9,UI_Color_Orange,3,1100,800,700,800);
UI_ReFresh(5,G1,G2,G3,G4,G5); //绘制图形
while(1)
{
delay(700);
Circle_Draw(&G4,"004",UI_Graph_Change,9,UI_Color_Pink,8,700,700,100);
UI_ReFresh(1,G4);
delay(700);
Circle_Draw(&G4,"004",UI_Graph_Change,9,UI_Color_Cyan,8,700,700,100);
UI_ReFresh(1,G4); //刷新圆形颜色
}
因为要通过UI向操作手反馈一些数据,所以UI的存在还是很有必要的,于是我开始上手扒裁判系统的协议。这个协议和TCP/IP协议类似,但是简单很多,所以构思并不费劲,但是邪门的是我自己写的数据结构居然 不 能 用。。。反复折腾了几天,最后终于还是把官方协议手册上的结构体拷上去了。
工欲善其事必先利其器,看到不少RM战友还是没能调出自定义UI来,所以说我把这些代码封装成库的形式,供大家使用。
这些代码都是在联盟赛程序上扒下来的,修改了一些小地方,还没经过测试。
另外,这个库无法在客户端界面上画出字符和浮点型数据,还有无法一次性刷新7个图形,希望大佬们修改以后拜托一定要回帖告知原因,球球了。
废话不多说,直接开始正题
先上示例代码
文件开头部分
#include "RM_Cilent_UI.h"
#include "string.h"
Graph_Data G1,G2,G3,G4,G5;
main函数内容
memset(&G1,0,sizeof(G1));
memset(&G2,0,sizeof(G2));
memset(&G3,0,sizeof(G3));
memset(&G4,0,sizeof(G4));
memset(&G5,0,sizeof(G5));
Line_Draw(&G1,"001",UI_Graph_ADD,9,UI_Color_Orange,3,960,570,960,200);
Rectangle_Draw(&G2,"002",UI_Graph_ADD,9,UI_Color_Pink,5,700,450,1000,650);
Arc_Draw(&G3,"003",UI_Graph_ADD,9,UI_Color_Green,70,180,5,960,400,80,80);
Circle_Draw(&G4,"004",UI_Graph_ADD,9,UI_Color_Cyan,8,700,700,100);
Line_Draw(&G5,"001",UI_Graph_ADD,9,UI_Color_Orange,3,1100,800,700,800);
UI_ReFresh(5,G1,G2,G3,G4,G5); //绘制图形
while(1)
{
delay(700);
Circle_Draw(&G4,"004",UI_Graph_Change,9,UI_Color_Pink,8,700,700,100);
UI_ReFresh(1,G4);
delay(700);
Circle_Draw(&G4,"004",UI_Graph_Change,9,UI_Color_Cyan,8,700,700,100);
UI_ReFresh(1,G4); //刷新圆形颜色
}
请问这篇文章对你有用吗?
【RM2021-自定义UI开源】山东理工大学