1. 程式人生 > >Unity UGUI圖文混排原始碼(三) -- 動態表情

Unity UGUI圖文混排原始碼(三) -- 動態表情

這裡是根據圖文混排原始碼(二)進一步修改的,其他連結也不貼了,就貼一個連結就好了,第一次看這文章的同學可以先去看看其他幾篇文章

1.首先來一個好訊息,在最新版本的圖文混排中,終於搞定了<quad>佔位亂跳的問題,如果是從圖文二過來已有工程的同學,可以將InlieText元件的Align By Geometry勾選上,對齊幾何體,然而看字面意思我也一篇茫然,不過這裡我們就可以理解他至少對齊了<quad>標籤就可以了。

2.將標籤引用圖片名稱索引圖片改為了ID索引,為了讓文字更簡短一些,也為了後面的動態表情

3.動態表情,這當然是最新的功能了,你只需要將你需要變換的圖片的ID加在標籤原來的ID後面中間加一個#字元號分開就好,如圖所示

<quad name=1#2 size=24 width=1 /> //切換ID為1和ID為2的兩張圖片
<quad name=1 size=24 width=1 />  //沒有動態圖片


4.來看看指令碼檔案,如果有同學需要使用肯定會根據要求更改指令碼:

AnimNum表示最多切換的張數,應該在update裡面限制,我好像還沒加上去,後面再說

m_AnimIndex表示有動態表情的索引

m_AnimSpiteTag表示動態標籤的集合

m_AnimSpriteInfor表示動態表情的集合

 #region 動畫標籤解析
    //最多動態表情數量
    int AnimNum = 4;
    List<int> m_AnimIndex;
    Dictionary<int, SpriteTagInfor[]> m_AnimSpiteTag;
    Dictionary<int, InlineSpriteInfor[]> m_AnimSpriteInfor;
    #endregion
5.其他功能,無非再解析標籤,存一下表情資料,跟圖文二差不多,然後動態圖片的更新間隔時間也需要自己在update裡面去更改

,因為改得很隨意,現在程式碼亂得一團糟,有疑問的跟我說就可以

6.來一張動態表情的執行截圖:



7.先繼續更新功能,未完待續...