社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Git

[Unity 3d] ScreenManager (UI框架) - GitHub

雨落随风 • 6 年前 • 404 次点击  

这是一个理念非常棒的 UI框架。

GitHub 上的工程多如繁星,有些好的仓库,但凡不经意间错过了就很难找回,故稍作采撷,希望能帮助到有心人。
本文集以一个小的功能点为单位行文,也便于拾取罢!

简介:

笔者今天推荐的仓库叫 ScreenManager。- 屏幕管理器
虽然名称这么叫,当其实啊这货是一个 UI框架,只不过呢它支持 UI Page的栈(Stack)可视化,这个设计思路就很值得借鉴嘛!

功能:

  • 编辑器模式下页面的栈信息在 Inspector中可视
  • 虽然有Inspector栈数据可视,但也完全可以由代码调用。
  • 支持多图层(分层)的栈导航(alertbox/消息弹窗 > popup/弹窗 > main/主UI页面 )
    • 支持页面对象的复用
    • 支持形如 弹窗和消息弹窗的克隆复用
  • 代码简洁优美,没有引入第三方库。
  • 支持为页面定义默认选中的按钮.
  • 支持在Scene 窗口 唤出所有 配置OK的页面,方便调试。


    管理所有存在的页面
  • 支持页面自动引导与自动停止引导。
  • BaseScreen 支持扩展,方便扩展自己的 页面。
  • 支持预设 Animation动画 / Tween动画
    Animation过渡动画

    Tween过渡动画
  • 已测试支持移动端。

使用:

screenmgr.Show("MainMenu"); //通过字符串调用指定页面
screenmgr.ShowPopup<Popup>("Alertbox").Message = "Custom Alert Text"; //泛型调用消息弹窗并指定消息
screenmgr.HideAll(); // 隐藏Page 的API

演示:

ScreenManager

链接:

Xerios/ScreenManager: Flexible way to manage screens with transitions for Unity

结语:

简约而不简单的 UI框架,支持预设过渡动画,支持预设高亮按钮,支持页面栈的可视化,一切的一切都非常值得安利一下,不管是出于借鉴学习还是直接使用,希望对同学们有所帮助吧!

本文集持续更新ing,喜欢记得点赞关注哦!

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/35213
 
404 次点击