侧边栏壁纸
  • 累计撰写 10 篇文章
  • 累计创建 1 个标签
  • 累计收到 1 条评论

目 录CONTENT

文章目录

迷你灯带控制器ui移植

Z_Tam
2023-02-05 / 0 评论 / 0 点赞 / 371 阅读 / 3654 字

官方中文教程

UI简介

  • Arm-2D的本质是一个针对微控制器GUI生态的“显卡驱动”
  • 它为原本玩不起GUI的小资源MCU(64K Flash 4K SRAM)用“低帧率”换取“低资源消耗”提供了可能
  • 我们可以借助Arm-2D轻松整活儿
    • 做出漂亮的水印效果
    • 实现不规则窗体
    • 制作剪影风格的界面
    • 用 极小的资源资源实现任意大小的圆角矩形界面
    • 用极小资源实现酷炫的动态进度条
    • 显示文字
      更不用说:
    • 制作拥有多层景深效果的横版过关游戏
    • 实现酷炫的智能手表表盘

驱动移植

  • ARM-2D 的显示通过 Disp0_DrawBitmap 实现。
void Disp0_DrawBitmap (uint32_t x, 
                       uint32_t y, 
                       uint32_t width, 
                       uint32_t height, 
                       uint8_t *bitmap)


  • 安装 ARM-2D 的驱动及其依赖的 per_counter 驱动。


  • 初始化 ARM-2D、屏幕及屏幕切换效果。


屏幕管理

  • 屏幕初始化。
    • sceneX:第几个页面。
    • DISPx_ADAPTER:第几个屏幕,一般只有一个屏幕。
arm_2d_scene0_init(&DISP0_ADAPTER);
  • 屏幕切换模式。
    • 参数一:选择屏幕。
    • 参数二:选择屏幕切换函数(当前为渐暗)。
    arm_2d_scene_player_set_switching_mode( 				/* 设置切换特效为 淡入淡出(白色) */
        &DISP0_ADAPTER,
        ARM_2D_SCENE_SWITCH_MODE_FADE_BLACK);


  • 屏幕切换时间。
    • 参数一:选择屏幕。
    • 参数二:屏幕过度动画所需时间。
    arm_2d_scene_player_set_switching_period(				/* 设置切换持续时间为 3000ms */
        &DISP0_ADAPTER, 
        700);

忙圈效果

  • 通过 void busy_wheel2_show(const arm_2d_tile_t *ptTarget, bool bIsNewFrame) 函数调用 ARM-2D 提供的例子实现忙圈效果。


  • 效果。


滚动列表

  • 注册滚动列表。


  • 绑定列表函数及子列表位置等参数的设置。


  • 实现子列表函数。


  • 效果。


倒计时

  • 初始化列表。


  • 列表显示,指定显示位置。


  • 设置要滚动多少个数值和所需时间,用于控制滚动及速度。


  • 效果。


0

评论区