Fgui入门了解

一、UI插件的选择

笔者第一个项目用的插件是NGUI,因为当时没得选,市场上就有这一款插件供使用。自从Unity推出了自己的UGUI,大部分新的项目也相继使用开来。我猜想主要原因是UGUI是Unity原生的,所以效率性能应该会好很多,兼容性也会提高。笔者两款UI插件都有用过,但是从去年开始就关注Unity的第三款UI插件FairyGUI,发现此款插件有很多方便开发者的功能,加之笔者自己的实验项目那就研究个没尝试过得好了,所以就选择了FairyGUI。 
FairyGUI地址:http://www.fairygui.com/ 
第一件事就是上官网下demo,看官网的视频、帖子,加官方群询问一些不了解的地方。笔者这里建议在问问题之前最好把自己能查到的能看到的东西都看完,这样也是出于对作者的尊重,也不会让自己遭人嫌弃。

二、语言的选择

说个好玩的事情,笔者想写自己的项目不是一天两天了,之前也放弃过一次,那时候觉得一个项目必须做好热更新,有bug就要及时修复,还能更新出一些新玩法。但是笔者服务器的造诣尚浅,那时候没有找到如果做到lua协议热更新,如果协议不能热更新那么能更新的新功能的太少,在寻找探索的过程中也就放弃了。 
当然笔者现在还是不太会服务器罗马不是一天建成的所以此次先用c#写项目,但是我会减少对c#的依赖,等哪天搞定的服务器,就将框架移植到lua中

三、UI插件的使用

FGUI在Unity方面的使用主要关注的是“包”也就是Package。你如果想显示一个UI界面,首先需要找到UI界面所引用的包,将这些包加载进来(UIPackage.AddPackage),你才能看到UI的界面(UIPackage.CreateObject)。 
所以UI框架的第一个任务是需要管理Package的加载与卸载,还有Component的显示。 
那么第一份代码就是管理包

using UnityEngine;
using System.Collections;
using System.Collections.Generic;
using FairyGUI;

public class UIPackageManager : BaseManager<UIPackageManager>
{

    //记录包是否Add的字典
    private Dictionary<string, bool> packageAddDict = new Dictionary<string, bool>();

    /// <summary>
    /// 将一个UI包add进来
    /// </summary>
    /// <param name="packageName">UI包名</param>
    public void AddPackage(string packageName)
    {
        if (CheckPackageHaveAdd(packageName) == false)
        {
            UIPackage.AddPackage("UI/"+packageName);
        }
    }

    /// <summary>
    /// 检查UI包是否已经包进来
    /// </summary>
    /// <param name="packageName">UI包名</param>
    public bool CheckPackageHaveAdd(string packageName)
    {
        return packageAddDict.ContainsKey(packageName);
    }

    /// <summary>
    /// 清理没有用到的UI包
    /// </summary&g
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值