點點滴滴
posts - 311, comments - 0, trackbacks - 0, articles - 0
C++博客
::
首頁
::
新隨筆
::
聯(lián)系
::
聚合
::
管理
(搬運工)NGUI官網(wǎng)示例2-interaction-講解(一)
Posted on 2013-10-15 11:42
點點滴滴
閱讀(574)
評論(0)
編輯
收藏
引用
所屬分類:
02 編程語言
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),如圖所示:
刪除
Anchor
和
UIRoot
(
3D
),只留下
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
下面的
Label
和
Background
拖到
Animation
對象上,成為其子對象,如圖所示:
為
Show
按鈕添加三個裝飾圖標,這三個圖標都是
Sprite
元素,可以制作一個之后,使用
Ctrl+D
復制出另外兩個,并設置它的位置和顏色,最后可以添加一個空的游戲?qū)ο螅⒚麨?/font>
ICON
,把這三個圖標拖到
ICON
中,這樣可以方便管理,其最終結(jié)果如圖所示:
復制該
Button
,并把該
Button
的
Label
文本設置成
HIDE
,命名為
button-hide
再把
ICON
刪除掉,調(diào)整它的位置,最終效果如圖所示:
現(xiàn)在,來完成當鼠標放置在按鈕上面時,即
onHover
狀態(tài)時,它的動畫效果。我們以
Show
按鈕為例子,
Hide
的設置類同。選擇
Button-show
,為該按鈕添加一個
UIButtonPlayAnimation
組件(菜單中
Component->NGUI->Interaction->Button Play Animation
)。添加之后,把該按鈕下的
Animation
賦值給該組件中的
Target
變量,設置
Trigger
為
OnHover
,點擊播放,當把鼠標放置在該按鈕上時,可以看到已經(jīng)有動畫效果了,此時可以對比未對
Hide
按鈕添加
UIButtonPlayAnimation
組件時的效果。參數(shù)如圖所示:
對
Button-hide
按鈕進行相同的操作。
接下來,完成窗口的變換(移動和旋轉(zhuǎn)),使其當點擊
show
按鈕時,窗口平躺下來。新建兩個空游戲?qū)ο螅⒚麨?/font>
WindowActive
和
WindowInactive
,這兩個對象只包含了對象的變換信息(平移、旋轉(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
對象來在它們之間進行平滑過渡。添加組件之后,把
WindowActive
和
WindowInactive
對象賦值給該組件下的
From
和
To
下,同時把給組件的
Enable
關(guān)掉,我們將使用
Show
按鈕來控制它的打開,具體參數(shù)如下,如圖所示:
為
Show
按鈕添加
UIButtonTween
組件(
Component->NGUI->Interaction->Button Tween
),該組件可以使得
Target
中的
Tween
類型的動畫進行開關(guān)。把
Window
對象賦值給該組件下的
Target
,并設置
PlayDirection
為
Forward
,
Trigger
為
OnClick
,
If Disabled On Play
為
EnableThenPlay
,表示當播放該動畫時,啟動
Target
中的
Tween
類型動畫。這個組件是關(guān)鍵。點擊播放,可以看到最終的效果,你可以在播放時,在沒按下
show
按鈕之前選擇
Window
組件,可以看到此時的
TweenTransform
組件是關(guān)閉的,當你按下
show
按鈕之后,該組件被打開了,播放完之后,又被關(guān)閉。
現(xiàn)在來完成當點擊
Hide
按鈕時,窗口回到原來的位置,同樣給該按鈕添加一個
UIButtonTween
組件,把
Window
對象賦值給該組件下的
Target
,
Trigger
設置為
OnClick
,
Play Direction
設置為
Reverse
,
If Disabled On Play
設置為
DoNothing
。完成之后,點擊播放,查看效果,如圖所示:
以上幾步就實現(xiàn)了官網(wǎng)上的
Interaction
中窗口位置的平滑變換效果。關(guān)鍵是
UIButtonTween
和其他的
Tween
類型之間的連接。最后,把攝像機調(diào)整到其他的角度
Powered by:
C++博客
Copyright © 點點滴滴
日歷
<
2025年8月
>
日
一
二
三
四
五
六
27
28
29
30
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
5
6
公告
留言簿
(9)
給我留言
查看公開留言
查看私人留言
隨筆分類
(268)
01 數(shù)學基礎(chǔ)(5)
02 編程語言(175)
03 編程工具(6)
04 硬件基礎(chǔ)(2)
05 圖像基礎(chǔ)(3)
06 多媒體
07 壓縮加密
08 游戲SDK(10)
09 游戲策劃(3)
10 服務器(42)
11 生活隨想(12)
12工具收集(1)
19 源碼收集(9)
隨筆檔案
(311)
2017年5月 (1)
2016年12月 (2)
2016年11月 (7)
2014年10月 (4)
2014年9月 (2)
2014年7月 (1)
2014年2月 (1)
2013年11月 (4)
2013年10月 (42)
2013年8月 (1)
2013年7月 (1)
2013年6月 (3)
2013年5月 (3)
2013年4月 (2)
2013年3月 (4)
2013年2月 (3)
2013年1月 (2)
2012年11月 (3)
2012年10月 (3)
2012年9月 (12)
2012年8月 (8)
2012年7月 (47)
2012年6月 (3)
2012年5月 (4)
2012年3月 (4)
2012年2月 (5)
2012年1月 (2)
2011年12月 (5)
2011年11月 (4)
2011年10月 (3)
2011年9月 (5)
2011年8月 (2)
2011年7月 (2)
2011年6月 (7)
2011年5月 (13)
2011年4月 (9)
2011年3月 (17)
2011年2月 (9)
2011年1月 (25)
2010年12月 (10)
2010年11月 (24)
2010年10月 (2)
相冊
blog
游戲
搜索
積分與排名
積分 - 471738
排名 - 45
最新評論
国产午夜精品理论片久久
|
久久99国产精品99久久
|
久久综合视频网站
|
亚洲人成无码久久电影网站
|
久久久这里有精品中文字幕
|
久久久久久久久波多野高潮
|
久久久久久久久久久久中文字幕
|
久久se精品一区二区
|
久久免费视频6
|
国产一区二区三区久久精品
|
国产精品99久久久久久猫咪
|
国产精品久久久香蕉
|
精品人妻久久久久久888
|
欧美激情精品久久久久久久九九九
|
yy6080久久
|
国产精品狼人久久久久影院
|
久久这里都是精品
|
2021精品国产综合久久
|
色天使久久综合网天天
|
亚洲国产二区三区久久
|
精品国产乱码久久久久久人妻
|
久久av高潮av无码av喷吹
|
99久久综合国产精品免费
|
国产福利电影一区二区三区,免费久久久久久久精
|
伊人久久无码中文字幕
|
久久露脸国产精品
|
国产成人精品久久亚洲
|
久久精品成人国产午夜
|
97久久天天综合色天天综合色hd
|
亚洲国产成人精品女人久久久
|
国产精品青草久久久久婷婷
|
色综合久久无码中文字幕
|
99久久精品国产一区二区
|
久久最新免费视频
|
久久综合久久鬼色
|
久久久国产精品
|
久久精品亚洲欧美日韩久久
|
久久最近最新中文字幕大全
|
精品一区二区久久
|
99久久精品国产综合一区
|
久久97久久97精品免视看秋霞
|