java用GUI写一个超级玛丽_GuiLite 1.8 发布:100+ 行代码重现“超级玛丽”

本文介绍了如何利用GuiLite实现多图层叠加,通过上半部的单图层和下半部的双图层UI,构建了一个'超级玛丽'的游戏场景。探讨了UI拆分的原因、操作细节与技术原理,展示了其在窗口叠加和游戏开发中的应用。
摘要由CSDN通过智能技术生成

8bff1dd4e8b28853a025b47dcb7da34c.png

为了体现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呢?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值