版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
UNITY3D–GameProgramming–PartSketchUp3D。C#語(yǔ)言的經(jīng)驗(yàn)。它也建議文章的讀者熟悉面向?qū)ο缶幊毯驮O(shè)計(jì)理念為好它們覆3D3D圖形和矢量數(shù)學(xué)的基本理論概念。。最后,本文采用統(tǒng)一3D版4.6.1這是公開(kāi)的初始日期。大多候發(fā)布新版本兼容。然而有一是在當(dāng)前的4.6.1版本顯著不同相比舊版本的UI
的系列文章項(xiàng)目/源代碼 源注意:要獲取的代碼,請(qǐng)?jiān)谠撓盗邪l(fā)布的一部分,代碼SketchUp1SketchUp(CP,我們?nèi)匀恍枰伎己投x和創(chuàng)建一套規(guī)則。例如,讓我們來(lái)的問(wèn)題:他們將有一個(gè)?那是他們會(huì)不會(huì)出現(xiàn)和基于某種邏輯如果他們了,他們?cè)趺磿?huì)再次出現(xiàn),還是他們您的器如何與硬幣的相互作用您的器怎么會(huì)與關(guān)卡其他對(duì)象進(jìn)行交互?(的話UI,為簡(jiǎn)單起見(jiàn),讓我們繼續(xù)前進(jìn),并決定我們放置硬幣在設(shè)計(jì)時(shí)的水幣有1和9之間的隨機(jī)值現(xiàn)在,我們還可以決定,該硬幣將在整個(gè)游戲全,個(gè),這將回升硬幣并進(jìn)行必要的核算,以增加玩家的得分在比賽中。實(shí)施我們的游戲讓我們繼續(xù)創(chuàng) 這將給我們的硬幣一些生活讓我們把這種usingusingusingpublicclassCoin:MonoBehaviour{privateintvalue;publicint{get{returnthis.value;}//UsethisforvoidvoidStart()this.value=Random.Range(1,}//UpdateiscalledoncepervoidUpdate()}}在Coin.cs定義該將被連接到的硬幣對(duì)象。在比賽開(kāi)始時(shí),將隨機(jī)生19 或片的對(duì)象。簡(jiǎn)單地對(duì)象肯定會(huì)產(chǎn)生重復(fù),但他們都將獨(dú)立編輯。通常飯容易的式。2組合屋是非常有用的,看到如何在更復(fù)雜的情況更有效地使用它們。38(CP這是迄今為止對(duì)CPusingUnityEngine;usingUnityEngine.UI;usingpublic yerInput:MonoBehaviourprivateint //internalscorepublicint{get{returnthis.score;}//UsethisforvoidStart(){this.score=}//UpdateiscalledoncepervoidUpdate()//codeforthemovementof yer(CP)forwardthis.transform.Translate(Vector3.forward*Time.deltaTime);}//codeforthemovementof yer(CP)backwardthis.transform.Translate(Vector3.back*Time.deltaTime);}//codeforthemovementof yer(CP)leftthis.transform.Rotate(Vector3.up,-5);}//codeforthemovementof yer(CP)rightthis.transform.Rotate(Vector3.up,5);}}//ThiseventwillberaisedbyobjectthathavetheirIsTriggerattributed//Inourcase,thecoinGameObjecthasIsTriggersettotrueonitsvoidOnTriggerEnter(ColliderCoincoin //increasethis.score+=//removetheCoinobjectfromthe}}}新的修改做了幾件事情。首先我們引入一個(gè)變量來(lái)得分的球員。然后OnTriggerEnter(C)功能我們正在檢查,看看我們是否用硬幣對(duì)象相撞,如果是這樣,我們得到了硬幣對(duì)象的硬幣組件,并通過(guò)Value屬性提取硬幣的價(jià)值。然后,我們通過(guò)硬幣的價(jià)值增們的分?jǐn)?shù)。然后,我們想從場(chǎng)景中刪除的硬幣對(duì)象,因此我們使用destroy(c.gameObject)函數(shù)來(lái)銷毀從UI4部分涵蓋創(chuàng)建用戶首先,解決的游戲得分UI。下圖顯示了它是如何的外觀4UI中,我使用的已錨定到屏幕的左上角,用于顯示硬幣圖標(biāo)面板內(nèi)的圖像,并為的文本元素的面板。為了得到一個(gè)定制的外觀和感覺(jué),你可以申請(qǐng)一個(gè)紋理到面板的背景等..參見(jiàn)第4部分。我已經(jīng)更新 usingUnityEngine;usingUnityEngine.UI;using我已經(jīng)更新 usingUnityEngine;usingUnityEngine.UI;usingpublic yerInput:MonoBehaviourpublicTextlblScore;//textUIelementfor yingpublicTextlblTimer;//textUIelementfor yingprivateint //internalscorepublicint{get{returnthis.score;}privatefloattimer;//variabletokeeptrackof//UsethisforvoidStart()this.score=0;this.timer=30.00f;//checktomakesurelabelsaredefinedbeforeif(this.lblScore!=null)this.lblScore.text=this.score.ToString();if(this.lblTimer!=this.lblTimer.text=string.Format("{0:F2}",this.timer-}//UpdateiscalledoncepervoidUpdate()if(this.lblTimer!=this.lblTimer.text=string.Format("{0:F2}",this.timer-//codeforthemovementof yer(CP)forwardthis.transform.Translate(Vector3.forward*Time.deltaTime);}//codeforthemovementof yer(CP)backwardthis.transform.Translate(Vector3.back*Time.deltaTime);}//codeforthemovementof yer(CP)leftthis.transform.Rotate(Vector3.up,-5);}//codeforthemovementof yer(CP)rightthis.transform.Rotate(Vector3.up,5);}}}//ThiseventwillberaisedbyobjectthathavetheirIsTriggerattributed//Inourcase,thecoinGameObjecthasIsTriggersettotrueonitsvoidOnTriggerEnter(Colliderc){Coincoin //increasethis.score+=//updatescoreontheif(this.lblScore!=null)this.lblScore.text=this.score.ToString();//removetheCoinobjectfromthe}}}lblScore,lblTimer和定時(shí)器:我們?cè)谥薪榻B了幾個(gè)變量。我們更新了lblScore和lblTimer不為空,如果沒(méi)有,則分配值其text屬性。我們已經(jīng)更新了下一個(gè)功能是update()函數(shù)。我們只包含幾行更新計(jì)時(shí)家的分?jǐn)?shù)。最后,lblScore被更新相應(yīng)地反映在用戶界面上的分?jǐn)?shù)。有幾個(gè)改進(jìn),提出之前,我結(jié)束系列的第6部分。如果您發(fā)現(xiàn),我們要解決這一難題,實(shí)現(xiàn)以下邏輯有一個(gè)完成的游戲0.00下面的代碼顯示了如何修改我們的代碼來(lái)處理情況(1)和情usingusingusingUnityEngine.UI;usingSystem.Collections;public yerInput:MonoBehaviourpublicTextlblScore;//textUIelementfor yingpublicTextlblTimer;//textUIelementfor yingprivateint//internalscorepublicint{get{returnthis.score;}privatefloat //variableholingtimetocompleteprivatefloat //variablefortheactualtimercountpublicboolpublicintpublicint//variableindicatingendof//willbeinitializedattheStartof//willbeincrementedeachtimewecollect//UsethisforvoidStart(){this.score=0;this.timer=60.00f;this.numOfCoinsCollected=this.END_GAME=//checktomakesurelabelsaredefinedbeforeif(this.lblScore!=null)this.lblScore.text=this.score.ToString();if(this.lblTimer!=this.lblTimer.text=string.Format("{0:F2}",this.timer-//getnumberofcoinsinthesceneatthestartofthethis.numOfCoinsInLevel=GameObject.FindGameObjectsWithTag}//UpdateiscalledoncepervoidUpdate()if(!this.END_GAME)//computetimethis.timeLeft=this.timer-//updateUIlabelforif(this.lblTimer!=this.lblTimer.text=string.Format("{0:F2}",}//checktoseeifweneedtoendthegamebasedonthetimerif(this.timeLeft<=0.00f||this.numOfCoinsInLevel<=this.numOfCoinsCollected){this.END_GAME=true;if(this.lblTimer!=this.lblTimer.text=string.Format("{0:F2}",}}//codeforthemovementof yer(CP)forwardthis.transform.Translate(Vector3.forward*Time.deltaTime);}//codeforthemovementof yer(CP)backwardthis.transform.Translate(Vector3.back*Time.deltaTime);}//codeforthemovementof yer(CP)leftthis.transform.Rotate(Vector3.up,-5);}//codeforthemovement yer(CP)this.transform.Rotate(Vector3.up,5);}Debug.Log("GAME}}//ThiseventwillberaisedbyobjectthathavetheirIsTriggerattributed//Inourcase,thecoinGameObjecthasIsTriggersettotrueonitsvoidOnTriggerEnter(Colliderc){Coincoin //increasethis.score+=coin.VALUE;this.numOfCoinsCollected+=1;//updatescoreontheif(this.lblScore!=null)this.lblScore.text=this.score.ToString();//removetheCoinobjectfromthe}}}我們也推出了幾個(gè)變量來(lái)統(tǒng)計(jì)數(shù)據(jù)在我們的游戲。一個(gè)新的變量的timeleftEND_GAME被5與往常一樣,我們需要更新我們的來(lái)處理新的增強(qiáng)功能。這里yerInput.cs的更新列表usingusingusingUnityEngine.UI;usingSystem.Collections;public yerInput:MonoBehaviourpublicText //textUIelementfor yingpublicText //textUIelementfor yingpublicCanvas //CanvasholdingUIelementsforEndofpublicTextlblEndOfGameScore;publicTextlblEndOfGameTime;publicTextlblEndOfGameCoinCont;privateint//internalscorepublicint{get{returnthis.score;}privatefloat //variableholingtimetocompleteprivatefloat //variablefortheactualtimercountpublicbool //variableindicatingendofpublicintnumOfCoinsInLevel; //willbeinitializedattheStartofthepublicintnumOfCoinsCollected; //willbeincrementedeachtimewecollecta//UsethisforvoidStart()this.score=this.levelTime=Time.time+30.00f;this.numOfCoinsCollected=0;this.END_GAME=//checktomakesurelabelsaredefinedbeforeif(this.lblScore!=null)this.lblScore.text=this.score.ToString();if(this.lblTimer!=this.lblTimer.text=string.Format("{0:F2}",this.levelTime-//getnumberofcoinsinthesceneatthestartofthethis.numOfCoinsInLevel=GameObject.FindGameObjectsWithTag}//UpdateiscalledoncepervoidUpdate()if(!this.END_GAME)//computetimethis.timeLeft=this.levelTime-//updateUIlabelforif(this.lblTimer!=this.lblTimer.text=string.Format("{0:F2}",}//checktoseeifweneedtoendthegamebasedonthetimerif(this.timeLeft<=0.00f||this.numOfCoinsInLevel<=this.numOfCoinsCollected){this.END_GAME=true;if(this.lblTimer!=null&&this.lblEndOfGameTime!=this.lblTimer.text=string.Format("{0:F2}",this.timeLeft);this.lblEndOfGameTime.text=string.Format("{0:F2}",this.timeLeft);//thiselseblockiswrittentoensurethatifthetimerisup,wealways//andnotpositiveornegativevalues,i.e.0.01,or-0.01andetc...this.lblTimer.text=string.Format("{0:F2}",0.00f);this.lblEndOfGameTime.text=string.Format("{0:F2}",0.00f);}}if(this.lblEndOfGameScore!=null&&this.lblEndOfGameCoinCont!=null){this.lblEndOfGameScore.text=this.SCORE.ToString();this.lblEndOfGameCoinCont.text=this.numOfCoinsCollected.ToStrin
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 《材料成型裝備及自動(dòng)化》教學(xué)大綱
- 《電化學(xué)原理A》教學(xué)大綱
- 九年級(jí)英語(yǔ)書(shū)14單元教育課件
- 一片樹(shù)葉課件
- 2024年社會(huì)公共安全設(shè)備及器材項(xiàng)目評(píng)價(jià)分析報(bào)告
- 2024屆杭州市重點(diǎn)中學(xué)高三暑假自主學(xué)習(xí)測(cè)試數(shù)學(xué)試題
- 15《我們不亂扔》教學(xué)設(shè)計(jì)
- 7《走近我們的引路人》(說(shuō)課稿)-2024-2025學(xué)年道德與法治三年級(jí)上冊(cè)統(tǒng)編版
- 靜脈血栓的預(yù)防及護(hù)理治療
- 遼寧省鐵嶺市西豐縣第一中學(xué)2024-2025學(xué)年七年級(jí)上學(xué)期第一次月考英語(yǔ)試卷(含解析)
- 高三第一次聯(lián)考英語(yǔ)試卷分析
- 幼兒園食品安全
- 家庭教育與孩子的生涯規(guī)劃
- 大學(xué)生如何遵守網(wǎng)絡(luò)生活中的道德要求
- 給小朋友科普醫(yī)學(xué)知識(shí)
- 電氣工程及其自動(dòng)化生涯發(fā)展展示
- 2024學(xué)校所屬企業(yè)國(guó)有資產(chǎn)管理的若干意見(jiàn)全文
- 五年級(jí)上冊(cè)簡(jiǎn)易方程練習(xí)400題及答案
- 軟件技術(shù)生涯報(bào)告
- 員工安全出行知識(shí)培訓(xùn)
- 大數(shù)據(jù)與會(huì)計(jì)職業(yè)生涯規(guī)劃
評(píng)論
0/150
提交評(píng)論