• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            posts - 311, comments - 0, trackbacks - 0, articles - 0
              C++博客 :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理
            NGUI例子制作過程,由筆者參照NGUI的例子重新自己做了一遍,以加深對NGUI用法的理解。(建議先看下官網(wǎng)的基礎(chǔ)教程,對NGUI有初步了解之后,再看這個帖子。)
            二、Example2 – Interaction
            其最終效果如圖所示,當點擊Show按鈕時,窗口會過度到平躺位置,并出現(xiàn)兩個立方體,這兩個立方體當鼠標位于上面時,會出現(xiàn)按鈕的onHover效果:


            1.         新建一個場景,并把該場景中的MainCamera刪除掉,并通過菜單中的NGUI->Create a new UI新建一個UI結(jié)構(gòu),如圖所示:

            刪除AnchorUIRoot3D),只留下Panel,并把Panel命名為Message Root,如圖所示:

            MessageRoot下,創(chuàng)建一個空游戲?qū)ο螅⒚麨?/font>3D UI,并reset它的所有變換,reset這一步很重要,不然以后的GUI元素可能位置就不對了。如圖所示:

            首先先使用Create a widget工具創(chuàng)建一個Sprite,并命名為UISprite-Background,并在編輯窗口中調(diào)整它的大小,設置其深度為-5,該Sprite用于作為背景,其參數(shù)如圖所示:

            3D UI層級中,新建一個空游戲?qū)ο螅⒚麨?/font>Window,該對象用于整體調(diào)整下面GUI的移動和旋轉(zhuǎn)等。如圖所示:

            下面來制作Window中的各個元素。首先創(chuàng)建背景。使用Create a widget,使用UITiledSprite,該元素可以等你放大它的范圍時,它會以平鋪的方式顯示,這樣可以大大節(jié)省資源的體積。該其參數(shù)如下:


            使用Create a Widget中的Sliced Sprite,創(chuàng)建標題欄,該元素可以在放大范圍時,拉伸其背景。創(chuàng)建好之后在編輯窗口中改變它的位置和大小,使其在窗口的頂端,其參數(shù)和效果如下:

            再為背景添加一個半透明的SlicedSprite,其參數(shù)和效果如下:

            創(chuàng)建一個Label,作為該窗口的標題,其參數(shù)和效果如下:

             創(chuàng)建一個Label,作為窗口中的文字說明,其參數(shù)和效果如下:

              創(chuàng)建一個按鈕,命名為:button-show,設置該按鈕的Label文字描述為Show,設置Background的顏色為深藍色,調(diào)整它的位置和大小,最終效果如圖所示:

            為該Button創(chuàng)建一個空的子物體,并命名為Animation,最后對該空物體添加一個Animation組件(Component->Miscellaneous->Animation),并在project窗口中找到NGUI->Examples->Animations->Button,把該腳本添加到Animation組件中的Animation中。(這個Button的動畫可以用于實現(xiàn)按鈕在某種狀態(tài)下的動畫效果)接著把Button下面的LabelBackground拖到Animation對象上,成為其子對象,如圖所示:

            Show按鈕添加三個裝飾圖標,這三個圖標都是Sprite元素,可以制作一個之后,使用Ctrl+D復制出另外兩個,并設置它的位置和顏色,最后可以添加一個空的游戲?qū)ο螅⒚麨?/font>ICON,把這三個圖標拖到ICON中,這樣可以方便管理,其最終結(jié)果如圖所示:

            復制該Button,并把該ButtonLabel文本設置成HIDE,命名為button-hide再把ICON刪除掉,調(diào)整它的位置,最終效果如圖所示:

            現(xiàn)在,來完成當鼠標放置在按鈕上面時,即onHover狀態(tài)時,它的動畫效果。我們以Show按鈕為例子,Hide的設置類同。選擇Button-show,為該按鈕添加一個UIButtonPlayAnimation組件(菜單中Component->NGUI->Interaction->Button Play Animation)。添加之后,把該按鈕下的Animation賦值給該組件中的Target變量,設置TriggerOnHover,點擊播放,當把鼠標放置在該按鈕上時,可以看到已經(jīng)有動畫效果了,此時可以對比未對Hide按鈕添加UIButtonPlayAnimation組件時的效果。參數(shù)如圖所示:

            Button-hide按鈕進行相同的操作。
            接下來,完成窗口的變換(移動和旋轉(zhuǎn)),使其當點擊show按鈕時,窗口平躺下來。新建兩個空游戲?qū)ο螅⒚麨?/font>WindowActiveWindowInactive,這兩個對象只包含了對象的變換信息(平移、旋轉(zhuǎn)和縮放)。我們將用這個兩個空游戲?qū)ο蟮淖儞Q信息來制作窗口在這兩個位置間的平滑過渡。首先把該兩個游戲?qū)ο蠓胖玫?/font>3D UI對象下,成為它的子物體,然后把這兩個對象reset一下,接著,調(diào)整WindowInactive的旋轉(zhuǎn)角度和位置。而WindowActive保持變換不變。注意,此時當中的scale參數(shù)最好跟Window中的縮放一樣,除非你要實現(xiàn)縮放效果,如圖所示:

             選擇Window對象,為其添加一個TweenTransform組件(Compoent->NGUI->Tween-> Transform),該組件可以根據(jù)兩個Transform對象來在它們之間進行平滑過渡。添加組件之后,把WindowActiveWindowInactive對象賦值給該組件下的FromTo下,同時把給組件的Enable關(guān)掉,我們將使用Show按鈕來控制它的打開,具體參數(shù)如下,如圖所示:

             Show按鈕添加UIButtonTween組件(Component->NGUI->Interaction->Button Tween),該組件可以使得Target中的Tween類型的動畫進行開關(guān)。把Window對象賦值給該組件下的Target,并設置PlayDirectionForwardTriggerOnClickIf Disabled On Play EnableThenPlay,表示當播放該動畫時,啟動Target中的Tween類型動畫。這個組件是關(guān)鍵。點擊播放,可以看到最終的效果,你可以在播放時,在沒按下show按鈕之前選擇Window組件,可以看到此時的TweenTransform組件是關(guān)閉的,當你按下show按鈕之后,該組件被打開了,播放完之后,又被關(guān)閉。
             
            現(xiàn)在來完成當點擊Hide按鈕時,窗口回到原來的位置,同樣給該按鈕添加一個UIButtonTween組件,把Window對象賦值給該組件下的TargetTrigger設置為OnClickPlay Direction設置為ReverseIf Disabled On Play設置為DoNothing。完成之后,點擊播放,查看效果,如圖所示:


             
              以上幾步就實現(xiàn)了官網(wǎng)上的Interaction中窗口位置的平滑變換效果。關(guān)鍵是UIButtonTween和其他的Tween類型之間的連接。最后,把攝像機調(diào)整到其他的角度
            国产午夜精品理论片久久| 久久99国产精品99久久| 久久综合视频网站| 亚洲人成无码久久电影网站| 久久久这里有精品中文字幕| 久久久久久久久波多野高潮| 久久久久久久久久久久中文字幕| 久久se精品一区二区| 久久免费视频6| 国产一区二区三区久久精品| 国产精品99久久久久久猫咪| 国产精品久久久香蕉| 精品人妻久久久久久888| 欧美激情精品久久久久久久九九九| yy6080久久| 国产精品狼人久久久久影院 | 久久这里都是精品| 2021精品国产综合久久| 色天使久久综合网天天| 亚洲国产二区三区久久| 精品国产乱码久久久久久人妻 | 久久av高潮av无码av喷吹| 99久久综合国产精品免费| 国产福利电影一区二区三区,免费久久久久久久精 | 伊人久久无码中文字幕| 久久露脸国产精品| 国产成人精品久久亚洲| 久久精品成人国产午夜| 97久久天天综合色天天综合色hd| 亚洲国产成人精品女人久久久| 国产精品青草久久久久婷婷| 色综合久久无码中文字幕| 99久久精品国产一区二区| 久久最新免费视频| 久久综合久久鬼色| 久久久国产精品| 久久精品亚洲欧美日韩久久| 久久最近最新中文字幕大全| 精品一区二区久久| 99久久精品国产综合一区| 久久97久久97精品免视看秋霞|