ui控件不相应 unity3d_Unity3D 搭建优雅的UI框架

本文讲述了作者在Unity3D开发中遇到的UI管理问题,从最初直接使用NGUI或UGUI搭建界面,到后来面对复杂的UI交互和耦合问题,决定设计一套UI框架。作者探讨了MVC模式的尝试,分享了网上找到的优秀UI框架,并提出自己的设计思路:1.使用Manager单例管理UI;2.基于UIBase基类的子类化UI逻辑;3.利用观察者模式实现高效通讯;4.采用栈式管理UI,实现灵活切换。文章旨在为Unity3D开发者提供一种更优雅的UI管理方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这篇文章是博主早年写的,当初年少不懂事,竟然取这个标题,那时候的我完全没能力写好UI框架。

现在楼主已经转行去当厨师了,各位看官非常抱歉了,浪费你们时间点进来。

为什么要使用UI框架?直接使用NGUI或UGUI一拖一拉直接搭载出界面不就行了?

我相信很多小白,包括我在刚学习Unity3D UI的时候都这样想过。

我的第一款款Unity2D游戏《山地赛车》,使用的就是NGUI搭载界面。

弱联网手游一般都没什么复杂的界面,我也是很轻松花一天就把界面搭载好了,看起来好挺好看的,还花了不少时间做动态效果。

界面搭载好后,开始开发游戏内容,这下问题开始来了:

1.如何实现界面间的沟通?例如点击返回按钮,返回上一个界面,点击背包系统,弹出背包。

2.如何实现界面与游戏数据的沟通?例如点击排行榜,能列出最新的排名,点击购买车辆,能扣钱并买入新的车辆。

一开始我的做法(我相信也是大部分新手最喜欢的做法)就是为每个要触发功能的UI添加一个脚本,然后添加一个public gameobject,

然后拖入触发UI时要控制的object。在脚本的OnClick等函数里实现逻辑功能。

这样做是挺容易。很快我也花了半天时间拖来拖去,把UI要关联的各种物件绑定好。

但是接下来的各种问题让我非常头疼:

1.随着游戏系统的复杂,UI控件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值