设为首页收藏本站

LUPA开源社区

 找回密码
 注册
文章 帖子 博客
LUPA开源社区 首页 业界资讯 软件追踪 查看内容

GuiLite 1.8发布:100+行代码重现“超级玛丽”

2019-2-25 12:22| 发布者: joejoe0332| 查看: 338| 评论: 0|原作者: oschina|来自: oschina

摘要: 为了体现GuiLite的多图层的叠加能力,我们用GuiLite重现了经典游戏“超级玛丽”的场景,具体功能如下: 1. 该UI是由两个独立UI组合而成:上半部为“耗油根”的单图层UI区域;下半部为“超级玛丽”的双图层UI区域; 2 ...
为了体现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呢?


酷毙

雷人

鲜花

鸡蛋

漂亮
  • 快毕业了,没工作经验,
    找份工作好难啊?
    赶紧去人才芯片公司磨练吧!!

最新评论

关于LUPA|人才芯片工程|人才招聘|LUPA认证|LUPA教育|LUPA开源社区 ( 浙B2-20090187 浙公网安备 33010602006705号   

返回顶部