發(fā)布時(shí)間:2024-04-13 13:41:17 瀏覽量:137次
本小節(jié)主要內(nèi)容包括:
首先選中Login節(jié)點(diǎn),點(diǎn)擊Properties右邊的“+”號(hào)按鈕,此時(shí)我們可以發(fā)現(xiàn)Properties區(qū)域已經(jīng)增加了一個(gè)新的屬性。
如果需要修改屬性的名字,直接點(diǎn)擊當(dāng)前的屬性名即可進(jìn)入編輯狀態(tài)。若要修改屬性的類型,則點(diǎn)擊當(dāng)前屬性,會(huì)彈出一個(gè)屬性的選擇菜單。
這樣,我們就在Login節(jié)點(diǎn)上增加了一條名為UserName的數(shù)據(jù)了。
同樣,點(diǎn)擊Commands旁邊的“+”按鈕,就可以在Commands區(qū)域添加一個(gè)新的命令。
和屬性數(shù)據(jù)類似,我們也可以修改命令的返回類型和命令的名字。
本小節(jié)主要內(nèi)容包括:
左鍵點(diǎn)擊Login節(jié)點(diǎn)的輸出口,拖拽到LoginView的Element輸入點(diǎn),View和ViewModel之間的鏈接便被建立了。
這個(gè)鏈接被創(chuàng)建完畢之后,即意味著View可以將ViewModel中的數(shù)據(jù)用可見的方式在游戲世界中表現(xiàn)出來(lái)。
不過(guò)這里要提醒大家需要注意的是一個(gè)ViewModel可以連接很多不同的View,因?yàn)橄嗤臄?shù)據(jù)有可能會(huì)有不同的使用場(chǎng)景,這也從一個(gè)側(cè)面反映出了這種架構(gòu)方式對(duì)具體的使用場(chǎng)景不關(guān)心,數(shù)據(jù)和表現(xiàn)之間是解耦的,相同的數(shù)據(jù)可能有不同的表現(xiàn)形式,例如玩家身上的某件物品的數(shù)據(jù)既可以用來(lái)表現(xiàn)為背包的內(nèi)容,也可以表現(xiàn)為裝備的屬性等等。這樣做的結(jié)果就是使我們的數(shù)據(jù)具備了移植和復(fù)用的可能。
首先選中LoginView節(jié)點(diǎn),之后可以看到Bindings區(qū)域,點(diǎn)擊Bindings旁邊的“+”按鈕會(huì)有一個(gè)選擇框彈出
,我們可以在選擇框中設(shè)置我們關(guān)心的操作,列表中所有備選的數(shù)據(jù)和命令都來(lái)自上一步中鏈接的ViewModel。
我們選擇Login To Button的選項(xiàng),將Login命令和某個(gè)按鈕進(jìn)行綁定,一旦該按鈕被按下,會(huì)觸發(fā)Login命令。
還選擇UserName To Input Field,將UserName這條屬性顯示在一個(gè)輸入框中。
完成之后,View的Bindings的內(nèi)容如下圖:
當(dāng)然,現(xiàn)在還沒有這樣的按鈕和輸入框,我們會(huì)在后面制作它們。
現(xiàn)在在uFrame的可視化設(shè)計(jì)器中的設(shè)計(jì)工作已經(jīng)接近尾聲了,下一步我們就要將這個(gè)可視化工程保存并編譯生成對(duì)應(yīng)的模板代碼。
本小節(jié)主要內(nèi)容包括:
我們點(diǎn)擊可視化設(shè)計(jì)器右上角的Save & Compile按鈕即可進(jìn)入編譯過(guò)程。
編譯完畢之后,在工程目錄下生成了模板代碼,模板代碼包括兩部分: designer文件,這些文件的內(nèi)容是不可以修改的,它們是按照設(shè)計(jì)器中設(shè)計(jì)的關(guān)系生成的代碼。它在代碼層面指明了各個(gè)模塊和各個(gè)對(duì)象的關(guān)系,但是不包括具體的邏輯。 可編輯代碼文件,這些文件是我們可以修改的,uFrame只為我們生成這些文件,它們最初都是空的,需要我們自己去實(shí)現(xiàn)其內(nèi)容。
創(chuàng)建uFrame Kernal的按鈕在Save & Compile按鈕旁邊,稱為“Scaffold/Update Kernel”。我們只需要點(diǎn)擊這個(gè)按鈕就可以創(chuàng)建/更新當(dāng)前工程的Kernel。
生成的Kernel會(huì)以U3D的Prefab的形式存在于工程的文件夾中。
其中包括以下這3個(gè)部分:
上面都綁定了和U3D交互的腳本。 下面我們就來(lái)導(dǎo)入真正的U3D場(chǎng)景。
本小節(jié)內(nèi)容包括:
選中LoginScene,點(diǎn)擊右鍵可以在打開的菜單中選擇Create Scene。默認(rèn)會(huì)創(chuàng)建一個(gè)和SceneType節(jié)點(diǎn)同名的一個(gè)新的場(chǎng)景。
此時(shí)打開新生成的場(chǎng)景,在Hierarchy中也生成了對(duì)應(yīng)的_LoginSceneRoot,在這上面掛載了uFrame的Scene腳本,作為uFrame和U3D互動(dòng)的橋梁。
接下來(lái),我們將View和該場(chǎng)景進(jìn)行綁定。
此時(shí),我們可以在inspector窗口中看到在設(shè)計(jì)圖中設(shè)定的兩個(gè)綁定,Login對(duì)應(yīng)的Button控件,UserName對(duì)應(yīng)的Input控件,之后我們只需在U3D中創(chuàng)建一個(gè)Button和Input(要使用uGUI),然后把兩者分別拖入選框中即可。
本小節(jié)內(nèi)容包括:
View的代碼存在于View文件夾下的XXXView.cs文件中,當(dāng)然我們也可以在可視化設(shè)計(jì)器中打開該文件。選中View節(jié)點(diǎn),右鍵點(diǎn)擊Open->Designer Files->FoxMain->Views->XXXView.cs即可打開代碼文件,添加自己需要的邏輯即可。
打開LoginController.cs文件之后,就可以添加Controller中的邏輯了。
public class LoginController : LoginControllerBase {
public override void InitializeLogin(LoginViewModel viewModel) {
base.InitializeLogin(viewModel);
// This is called when a LoginViewModel is created
}
public override void Login(LoginViewModel viewModel) {
base.Login(viewModel);
UnityEngine.Debug.Log("登陸用戶名:" + viewModel.UserName);
UnityEngine.Debug.Log("登陸成功!?。。?!");
}
}
在Login方法中,我們會(huì)打印出ViewModel數(shù)據(jù)層的UserName數(shù)據(jù),并提示登陸成功。
如圖,一個(gè)各個(gè)層沒有耦合的模塊就完成了。
熱門資訊
探討游戲引擎的文章,介紹了10款游戲引擎及其代表作品,涵蓋了RAGE Engine、Naughty Dog Game Engine、The Dead Engine、Cry Engine、Avalanche Engine、Anvil Engine、IW Engine、Frostbite Engine、Creation引擎、Unreal Engine等引擎。借此分析引出了游戲設(shè)計(jì)領(lǐng)域和數(shù)字藝術(shù)教育的重要性,歡迎點(diǎn)擊咨詢報(bào)名。
2. 手機(jī)游戲如何開發(fā)(如何制作傳奇手游,都需要準(zhǔn)備些什么?)
?如何制作傳奇手游,都需要準(zhǔn)備些什么?提到傳奇手游相信大家都不陌生,他是許多80、90后的回憶;從起初的端游到現(xiàn)在的手游,說(shuō)明時(shí)代在進(jìn)步游戲在更新,更趨于方便化移動(dòng)化。而如果我們想要制作一款傳奇手游的
3. B站視頻剪輯軟件「必剪」:免費(fèi)、炫酷特效,小白必備工具
B站視頻剪輯軟件「必剪」,完全免費(fèi)、一鍵制作炫酷特效,適合新手小白??靵?lái)試試!
4. Steam值得入手的武俠游戲盤點(diǎn),各具特色的快意江湖
游戲中玩家將面臨武俠人生的掙扎抉擇,戰(zhàn)或降?殺或放?每個(gè)抉定都將觸發(fā)更多愛恨糾葛的精彩奇遇?!短烀嬗肪哂卸嗑€劇情多結(jié)局,不限主線發(fā)展,高自由...
5. Bigtime加密游戲經(jīng)濟(jì)體系揭秘,不同玩家角色的經(jīng)濟(jì)活動(dòng)
Bigtime加密游戲經(jīng)濟(jì)模型分析,探討游戲經(jīng)濟(jì)特點(diǎn),幫助玩家更全面了解這款GameFi產(chǎn)品。
6. 3D動(dòng)漫建模全過(guò)程,不是一般人能學(xué)的會(huì)的,會(huì)的多不是人?
步驟01:面部,頸部,身體在一起這次我不準(zhǔn)備設(shè)計(jì)圖片,我從雕刻進(jìn)入。這一次,它將是一種純粹關(guān)注建模而非整體繪畫的形式。像往常一樣,我從Sphere創(chuàng)建它...
7. 3D動(dòng)畫軟件你知道幾個(gè)?3ds Max、Blender、Maya、Houdini大比拼
當(dāng)提到3D動(dòng)畫軟件或動(dòng)畫工具時(shí),指的是數(shù)字內(nèi)容創(chuàng)建工具。它是用于造型、建模以及繪制3D美術(shù)動(dòng)畫的軟件程序。但是,在3D動(dòng)畫軟件中還包含了其他類型的...
?三昧動(dòng)漫對(duì)于著名ARPG游戲《巫師》系列,最近CD Projekt 的高層回應(yīng)并不會(huì)推出《巫師4》。因?yàn)椤段讕煛废盗性诓邉澋臅r(shí)候一直定位在“三部曲”的故事框架,所以在游戲的出品上不可能出現(xiàn)《巫師4》
9. 3D打印技巧揭秘!Cura設(shè)置讓你的模型更堅(jiān)固
想讓你的3D打印模型更堅(jiān)固?不妨嘗試一下Cura參數(shù)設(shè)置和設(shè)計(jì)技巧,讓你輕松掌握!
10. Unity3D入門:手把手帶你開發(fā)一款坦克大戰(zhàn)的游戲
Unity工程創(chuàng)建完成后如圖所示: 接下來(lái)應(yīng)該導(dǎo)入此項(xiàng)目所需的Unity Package文件,要用到的Unity package文件大家可以去Unity3D的官方網(wǎng)站下載(地址:ht...
最新文章
同學(xué)您好!