内容简介:为了体现GuiLite的多图层的叠加能力,我们用GuiLite重现了经典游戏“超级玛丽”的场景,具体功能如下: 1. 该UI是由两个独立UI组合而成:上半部为“耗油根”的单图层UI区域;下半部为“超级玛丽”的双图层UI区域;...
为了体现GuiLite的多图层的叠加能力,我们用GuiLite重现了经典游戏“超级玛丽”的场景,具体功能如下:
1. 该UI是由两个独立UI组合而成:上半部为“耗油根”的单图层UI区域;下半部为“超级玛丽”的双图层UI区域;
2. “玛丽”可以自由行走,行走动作由3副静态图片组成,通过“掩色”处理,可以消除矩形外框;
3. “玛丽”行走过的背景,会自动恢复 -- 该功能类似与:“窗口”拖拽后的,桌面背景恢复;
4. “玛丽”可以跳跃。PC用户通过点击鼠标,就可以跳跃;单片机用户则需要用自己的按键驱动调用“jump”函数来触发;
5. “耗油根”是由若干bitmap,进行“掩色”处理后的动图;它的“拖影”是有意为之,跟运行效率无关;
6. 支持Windows,Linux(arm/x64)及任意单片机(例如:STM32F103)
7. ROM使用量: 350k字节;RAM使用量:50k字节
8. UI(uicode.cpp)代码量:136行
窗口叠加一直是UI系统中相对复杂的部分,GuiLite用一种简单的方式处理了这个问题。这种处理可以独立于窗口而存在,不仅可以用来进行窗口叠加;也可以独立使用,进行一些小游戏的开发。希望通过这个实例,让开发者既能灵活使用图层叠加功能,也理解其实现原理。
那么问题来了:为什么在本实例中,要把UI分成上下两个部分呢?为什么不统一使用一个双图层UI呢?
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- 如何调试一个无法重现的错误?
- ueditor getshell漏洞重现及分析
- thinkphp5 RCE漏洞重现及分析
- ThinkPHP5 RCE漏洞重现及分析
- tomcat rce漏洞重现(cve-2019-0232)
- 重现 AlphaGoZero 风采,Facebook 开源 ELF OpenGo
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。