Unity UI框架(二)博主的疑问

这里我用一个简单案例

2个界面

金币界面:

功能:

显示金币数量。

打开购买充值界面。

充值界面:

功能:

增加金币数量

关闭自己

 

开工:

2个UI脚本 CoinPanel.cs  BuyPanel.cs

一个记录金币脚本

 

问题一

UI对象的获取

例如脚本中写了一些变量,如何赋值。

方式1

代码获取

start方法中Find

缺点:

1、手动太繁琐,感觉是重复性工作。(复制粘贴)改改改…… ,但一个游戏按钮、文本、单选框、加起来上百总有吧。岂不是写死。 

2、路径或名称容易写错,然后运行找不到。

3、Unity也要对应去改好名称.

4、如果层级变动,代码路径需要重写一遍。

5、一些组件需要一开始隐藏看不到,但是手动隐藏后,又会Find不到。只能先Find一遍,再用代码去关闭。(感觉好蠢)。

方式2

手动拖拽

缺点:

1、容易拖错,只能细心。

2、容易丢失引用。

     发生于多人开发,自己电脑没事,同事丢完。

     打开别人项目,或者更换版本于源项目版本不一致。

问题二

按钮如可添加监听

方式1

start中添加

一种使用匿名函数,一种手动写个函数. 

函数不得起名啊

方式2

在Inspector中使用,使用Unity中自带事件绑定.

还有很多方式我就不说了。

个人意见:

更倾向于手动写个函数. 

不管哪一种都可以使用,达到按钮点击目的。

 以上都是小问题,可以放一边。

问题三

如何打开一个界面/面板/Panel。

归根结底也是SetActive,显示与隐藏。

方式1、

unity中手动操作,不用写代码。

方式2、

代码控制。

缺点: 还需要去拖拽。麻烦 

方式3、

面板做成单例。

看似是不用拖拽了,省事,而且面板就这一个(万一面板会有多个存在呢),写成单例不挺好嘛。

缺点:

这个咋说呢,文章描述不清。

1、会乱用单例。这个脚本用下,那个脚本调用下,不知道理解不。

个人意见:

个人不喜欢这样。

也可能看的文章讲的不要滥用单例。看混了。

问题四

数值界面咋更新

感觉这个比较严重吧。

方式很多种,我随便写点。

个人意见:

以上各种方式我都感觉不太好。

然后自己改成这种

但是问题又来了

PlayerInfo一开始是干净的。

问题先说到这里,不知道理解多少。

总结为2点,

1、界面如何打开关闭。

2、界面互相通讯。数据操作,更新。

也可能说的很片面,你感觉这么简单的问题。但是在我看来UI中的学问很大。

 凉鞋的QGameFrameWork UI-Kit 、 Siki 的UI框架 还有GitHub上也收藏也一堆,

也看过很多案例。每个各有优缺点吧 。也可能是我学的不精。也看多MVC 知道原理,不会写,理论大师(啊呸)。。。

凉鞋的案例至少在我印象中还是很不错的。 推荐哦

可以生成UI脚本。

 管理界面打开关闭

发送消息,接受消息。

这块我看不懂。

顺便说下这是我的收藏 希望能给你帮助 

Timor的GitHub收藏

如果没有看过我的第一篇博客,建议去看下。

unity框架系列——UI框架(一)

 ui中的关系类图就像这张图

界面互相交互,耦合大,乱七八糟。

这篇博客我瞎写,后续会更改。卧槽12点多了  2020年1月31日00点17分。不写了睡觉。

发布了57 篇原创文章 · 获赞 37 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/qq_35030499/article/details/104119882
今日推荐