实例介绍
Gameframe.GUI是一个为Unity用户提供的GUI辅助工具库,它包括了一个实现导航堆栈的面板系统、一个场景转换系统以及一个用于UI面板背景模糊的SRP着色器。
主要功能:
- 面板视图:提供显示与隐藏行为,可以是即时的或异步等待。
- 动画面板视图:引用一个或多个IPanelAnimator组件来控制面板的显示与隐藏动画。如果你等待显示与隐藏的异步方法。
- 面板视图控制器:控制面板视图的显示。
- 面板堆栈系统:一个脚本对象表示的面板堆栈,主要用于维护菜单的导航历史。将面板控制器推入或弹出此堆栈。
使用方法:
通过PackageManager导入此包后,从菜单的Assets->Import Package选项中导入Demo/Demo.unitypackage文件。
此库适合希望在Unity中实现更加复杂的UI导航和动画效果的开发者。无论是游戏开发还是应用程序开发,Gameframe.GUI都能提供强大的支持。
【实例截图】
【核心代码】
文件清单
└── UnityGUI-45cc66f8f38a58bd615290154444f62c0ad272b5
├── Animators
│ ├── longfade.anim
│ ├── longfade.anim.meta
│ ├── longfadecontroller.controller
│ ├── longfadecontroller.controller.meta
│ ├── quickfade.anim
│ ├── quickfade.anim.meta
│ ├── quickfadecontroller.controller
│ └── quickfadecontroller.controller.meta
├── Animators.meta
├── AssetPackages
│ ├── ColorPresets.unitypackage
│ └── ColorPresets.unitypackage.meta
├── AssetPackages.meta
├── CHANGELOG.md
├── CHANGELOG.md.meta
├── Demo
│ ├── Demo.unitypackage
│ └── Demo.unitypackage.meta
├── Demo.meta
├── Editor
│ ├── com.gameframe.gui.Editor.asmdef
│ ├── com.gameframe.gui.Editor.asmdef.meta
│ ├── GUIEditor.cs
│ ├── GUIEditor.cs.meta
│ ├── PanelStackSystemEditor.cs
│ └── PanelStackSystemEditor.cs.meta
├── Editor.meta
├── LICENSE.md
├── LICENSE.md.meta
├── package.json
├── package.json.meta
├── README.md
├── README.md.meta
├── Runtime
│ ├── Attributes
│ │ ├── HelpAttribute.cs
│ │ └── HelpAttribute.cs.meta
│ ├── Attributes.meta
│ ├── Camera
│ │ ├── CameraCollection.cs
│ │ ├── CameraCollection.cs.meta
│ │ ├── CameraDirector.cs
│ │ ├── CameraDirector.cs.meta
│ │ ├── CameraGyroscopeRotate.cs
│ │ ├── CameraGyroscopeRotate.cs.meta
│ │ ├── CameraOrthographicWidth.cs
│ │ ├── CameraOrthographicWidth.cs.meta
│ │ ├── CameraType.cs
│ │ ├── CameraType.cs.meta
│ │ ├── ObliqueCamera.cs
│ │ ├── ObliqueCamera.cs.meta
│ │ ├── PinchZoom.cs
│ │ ├── PinchZoom.cs.meta
│ │ ├── RuntimeTable.cs
│ │ ├── RuntimeTable.cs.meta
│ │ ├── Supersample.cs
│ │ └── Supersample.cs.meta
│ ├── Camera.meta
│ ├── com.gameframe.gui.asmdef
│ ├── com.gameframe.gui.asmdef.meta
│ ├── csc.rsp
│ ├── csc.rsp.meta
│ ├── Effects
│ │ ├── FadeInText.cs
│ │ ├── FadeInText.cs.meta
│ │ ├── MaterialFloatAnimator.cs
│ │ ├── MaterialFloatAnimator.cs.meta
│ │ ├── MoveInText.cs
│ │ ├── MoveInText.cs.meta
│ │ ├── PlayableTextMeshEffect.cs
│ │ ├── PlayableTextMeshEffect.cs.meta
│ │ ├── ScaleInText.cs
│ │ ├── ScaleInText.cs.meta
│ │ ├── TextMeshEffectTMPro.cs
│ │ ├── TextMeshEffectTMPro.cs.meta
│ │ ├── TypewriterText.cs
│ │ ├── TypewriterText.cs.meta
│ │ ├── TypewriterTextTMPro.cs
│ │ ├── TypewriterTextTMPro.cs.meta
│ │ ├── VertexTextMeshEffect.cs
│ │ ├── VertexTextMeshEffect.cs.meta
│ │ ├── WavyText.cs
│ │ └── WavyText.cs.meta
│ ├── Effects.meta
│ ├── Extenstions
│ │ ├── GameObjectExt.cs
│ │ ├── GameObjectExt.cs.meta
│ │ ├── MonobehaviourExt.cs
│ │ ├── MonobehaviourExt.cs.meta
│ │ ├── RectTransformExt.cs
│ │ └── RectTransformExt.cs.meta
│ ├── Extenstions.meta
│ ├── Layout
│ │ ├── FlexibleGridLayout.cs
│ │ ├── FlexibleGridLayout.cs.meta
│ │ ├── FullScreenRectTransform.cs
│ │ ├── FullScreenRectTransform.cs.meta
│ │ ├── GridRowsAndColumns.cs
│ │ ├── GridRowsAndColumns.cs.meta
│ │ ├── HorizontalOrVerticalPagedLayoutGroup.cs
│ │ ├── HorizontalOrVerticalPagedLayoutGroup.cs.meta
│ │ ├── HorizontalPagedLayoutGroup.cs
│ │ ├── HorizontalPagedLayoutGroup.cs.meta
│ │ ├── RadialLayoutGroup.cs
│ │ ├── RadialLayoutGroup.cs.meta
│ │ ├── SafeAreaLayout.cs
│ │ ├── SafeAreaLayout.cs.meta
│ │ ├── VerticalPagedLayoutGroup.cs
│ │ └── VerticalPagedLayoutGroup.cs.meta
│ ├── Layout.meta
│ ├── PanelSystem
│ │ ├── AnimatedPanelView.cs
│ │ ├── AnimatedPanelView.cs.meta
│ │ ├── Animators
│ │ │ ├── BasePanelAnimatorController.cs
│ │ │ ├── BasePanelAnimatorController.cs.meta
│ │ │ ├── IPanelAnimator.cs
│ │ │ ├── IPanelAnimator.cs.meta
│ │ │ ├── PanelAnimatorController.cs
│ │ │ ├── PanelAnimatorController.cs.meta
│ │ │ ├── PanelLegacyAnimationController.cs
│ │ │ ├── PanelLegacyAnimationController.cs.meta
│ │ │ ├── QuickPanelAnimatorController.cs
│ │ │ └── QuickPanelAnimatorController.cs.meta
│ │ ├── Animators.meta
│ │ ├── IPanelStackController.cs
│ │ ├── IPanelStackController.cs.meta
│ │ ├── IPanelStackSystem.cs
│ │ ├── IPanelStackSystem.cs.meta
│ │ ├── IPanelSwapController.cs
│ │ ├── IPanelSwapController.cs.meta
│ │ ├── IPanelSwapSystem.cs
│ │ ├── IPanelSwapSystem.cs.meta
│ │ ├── IPanelSystemController.cs
│ │ ├── IPanelSystemController.cs.meta
│ │ ├── IPanelSystem.cs
│ │ ├── IPanelSystem.cs.meta
│ │ ├── IPanelViewContainer.cs
│ │ ├── IPanelViewContainer.cs.meta
│ │ ├── IPanelViewController.cs
│ │ ├── IPanelViewController.cs.meta
│ │ ├── IPanelViewControllerProvider.cs
│ │ ├── IPanelViewControllerProvider.cs.meta
│ │ ├── ITransitionEvent.cs
│ │ ├── ITransitionEvent.cs.meta
│ │ ├── OkCancelPanelView
│ │ │ ├── OkCancelPanelPusher.cs
│ │ │ ├── OkCancelPanelPusher.cs.meta
│ │ │ ├── OkCancelPanelViewController.cs
│ │ │ ├── OkCancelPanelViewController.cs.meta
│ │ │ ├── OkCancelPanelView.cs
│ │ │ └── OkCancelPanelView.cs.meta
│ │ ├── OkCancelPanelView.meta
│ │ ├── PanelPopper.cs
│ │ ├── PanelPopper.cs.meta
│ │ ├── PanelPusher.cs
│ │ ├── PanelPusher.cs.meta
│ │ ├── PanelStackControllerBehaviour.cs
│ │ ├── PanelStackControllerBehaviour.cs.meta
│ │ ├── PanelStackController.cs
│ │ ├── PanelStackController.cs.meta
│ │ ├── PanelStackSystem.cs
│ │ ├── PanelStackSystem.cs.meta
│ │ ├── PanelStackUtility.cs
│ │ ├── PanelStackUtility.cs.meta
│ │ ├── PanelSwapControllerBehaviour.cs
│ │ ├── PanelSwapControllerBehaviour.cs.meta
│ │ ├── PanelSwapController.cs
│ │ ├── PanelSwapController.cs.meta
│ │ ├── PanelSwapper.cs
│ │ ├── PanelSwapper.cs.meta
│ │ ├── PanelSwapSystem.cs
│ │ ├── PanelSwapSystem.cs.meta
│ │ ├── PanelSystemControllerBehaviour.cs
│ │ ├── PanelSystemControllerBehaviour.cs.meta
│ │ ├── PanelType.cs
│ │ ├── PanelType.cs.meta
│ │ ├── PanelViewBase.cs
│ │ ├── PanelViewBase.cs.meta
│ │ ├── PanelViewControllerBase.cs
│ │ ├── PanelViewControllerBase.cs.meta
│ │ ├── PanelViewControllerBehaviour.cs
│ │ ├── PanelViewControllerBehaviour.cs.meta
│ │ ├── PanelViewController.cs
│ │ ├── PanelViewController.cs.meta
│ │ ├── PanelViewControllerProvider.cs
│ │ ├── PanelViewControllerProvider.cs.meta
│ │ ├── PanelViewControllerRegisterer.cs
│ │ ├── PanelViewControllerRegisterer.cs.meta
│ │ ├── PanelViewControllerState.cs
│ │ ├── PanelViewControllerState.cs.meta
│ │ ├── PanelView.cs
│ │ ├── PanelView.cs.meta
│ │ ├── ScriptablePanelStackSystem.cs
│ │ ├── ScriptablePanelStackSystem.cs.meta
│ │ ├── ScriptablePanelSwapSystem.cs
│ │ ├── ScriptablePanelSwapSystem.cs.meta
│ │ ├── TransitionSystemExtensions
│ │ │ ├── PopPanelTransitionPresenter.cs
│ │ │ ├── PopPanelTransitionPresenter.cs.meta
│ │ │ ├── PushPanelTransitionPresenter.cs
│ │ │ └── PushPanelTransitionPresenter.cs.meta
│ │ └── TransitionSystemExtensions.meta
│ ├── PanelSystem.meta
│ ├── Pooling
│ │ ├── PoolableGameObject.cs
│ │ ├── PoolableGameObject.cs.meta
│ │ ├── Pool.cs
│ │ └── Pool.cs.meta
│ ├── Pooling.meta
│ ├── TransitionSystem
│ │ ├── ITransitionPresenter.cs
│ │ ├── ITransitionPresenter.cs.meta
│ │ ├── ITransitionTask.cs
│ │ ├── ITransitionTask.cs.meta
│ │ ├── MultiSceneLoadBehaviour.cs
│ │ ├── MultiSceneLoadBehaviour.cs.meta
│ │ ├── SceneTransitionSystem.cs
│ │ ├── SceneTransitionSystem.cs.meta
│ │ ├── SceneTransitionSystemOneTimePresenterExtensions.cs
│ │ ├── SceneTransitionSystemOneTimePresenterExtensions.cs.meta
│ │ ├── SceneTransitionTask.cs
│ │ ├── SceneTransitionTask.cs.meta
│ │ ├── SceneTransitionViewController.cs
│ │ ├── SceneTransitionViewController.cs.meta
│ │ ├── SingleSceneLoadBehaviour.cs
│ │ ├── SingleSceneLoadBehaviour.cs.meta
│ │ ├── Transition.cs
│ │ └── Transition.cs.meta
│ ├── TransitionSystem.meta
│ ├── Tween
│ │ ├── EaseFunctions.cs
│ │ ├── EaseFunctions.cs.meta
│ │ ├── MaterialTweenExtensions.cs
│ │ ├── MaterialTweenExtensions.cs.meta
│ │ ├── RectTransformTweenExtensions.cs
│ │ ├── RectTransformTweenExtensions.cs.meta
│ │ ├── TextMeshProUGUITweenExtensions.cs
│ │ ├── TextMeshProUGUITweenExtensions.cs.meta
│ │ ├── TransformTweenExtensions.cs
│ │ ├── TransformTweenExtensions.cs.meta
│ │ ├── TweenExtensions.cs
│ │ └── TweenExtensions.cs.meta
│ ├── Tween.meta
│ ├── UIEventManager.cs
│ ├── UIEventManager.cs.meta
│ ├── UIFollower.cs
│ ├── UIFollower.cs.meta
│ ├── UINavigation.cs
│ ├── UINavigation.cs.meta
│ ├── UIRawMesh.cs
│ ├── UIRawMesh.cs.meta
│ ├── Utility
│ │ ├── BigNumberFormatter.cs
│ │ ├── BigNumberFormatter.cs.meta
│ │ ├── CountLock.cs
│ │ ├── CountLock.cs.meta
│ │ ├── DontDestroyOnLoad.cs
│ │ ├── DontDestroyOnLoad.cs.meta
│ │ ├── ListPool.cs
│ │ ├── ListPool.cs.meta
│ │ ├── ObjectPool.cs
│ │ ├── ObjectPool.cs.meta
│ │ ├── ScrollRectUtility.cs
│ │ ├── ScrollRectUtility.cs.meta
│ │ ├── SetLock.cs
│ │ ├── SetLock.cs.meta
│ │ ├── TextReference.cs
│ │ └── TextReference.cs.meta
│ ├── Utility.meta
│ ├── Views
│ │ ├── NotificationMessageView
│ │ │ ├── NotificationMessageText.cs
│ │ │ ├── NotificationMessageText.cs.meta
│ │ │ ├── NotificationMessageView.cs
│ │ │ └── NotificationMessageView.cs.meta
│ │ ├── NotificationMessageView.meta
│ │ ├── UIAttachmentView.cs
│ │ ├── UIAttachmentView.cs.meta
│ │ ├── UIRectBlockerView.cs
│ │ └── UIRectBlockerView.cs.meta
│ └── Views.meta
├── Runtime.meta
├── Shaders
│ ├── Fast UI Blur.shader
│ └── Fast UI Blur.shader.meta
├── Shaders.meta
├── Tests
│ ├── Editor
│ │ ├── AnimatedPanelViewTests.cs
│ │ ├── AnimatedPanelViewTests.cs.meta
│ │ ├── com.gameframe.gui.Editor.Tests.asmdef
│ │ ├── com.gameframe.gui.Editor.Tests.asmdef.meta
│ │ ├── Fakes.cs
│ │ ├── Fakes.cs.meta
│ │ ├── PanelSystem
│ │ │ ├── PanelStackControllerTests.cs
│ │ │ ├── PanelStackControllerTests.cs.meta
│ │ │ ├── PanelStackSystemTests.cs
│ │ │ ├── PanelStackSystemTests.cs.meta
│ │ │ ├── PanelStackUtilityTests.cs
│ │ │ └── PanelStackUtilityTests.cs.meta
│ │ ├── PanelSystem.meta
│ │ ├── TaskTestExtensions.cs
│ │ └── TaskTestExtensions.cs.meta
│ ├── Editor.meta
│ ├── Runtime
│ │ ├── AnimatedPanelViewTests.cs
│ │ ├── AnimatedPanelViewTests.cs.meta
│ │ ├── com.gameframe.gui.Tests.asmdef
│ │ ├── com.gameframe.gui.Tests.asmdef.meta
│ │ ├── GUIRuntimeTests.cs
│ │ └── GUIRuntimeTests.cs.meta
│ └── Runtime.meta
└── Tests.meta
26 directories, 291 files
标签:
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明
网友评论
我要评论