寫(xiě)在開(kāi)頭
這是一個(gè)unity小白為了更深入理解編程而開(kāi)始的記錄自己學(xué)習(xí)并親手寫(xiě)出屬于自己框架的學(xué)習(xí)記錄文章回窘,可能沒(méi)有太多干貨胁塞,多是一些自己的想法與實(shí)現(xiàn),為了激勵(lì)自己早日步入大牛的領(lǐng)域抵窒。爭(zhēng)取每周記錄一次自己的所學(xué)所得丑孩,提高自己的編程思維。
什么是框架
個(gè)人理解框架就是一個(gè)集成了眾多功能模塊火本,并進(jìn)行了大量封裝危队,從而給予使用者較簡(jiǎn)單的使用方法,并規(guī)范化編碼規(guī)則钙畔,使軟件開(kāi)發(fā)過(guò)程變得簡(jiǎn)潔高效的一套程序茫陆。框架能幫助使用者避免繁瑣的操作擎析,并且能給程序帶來(lái)極大的健壯性簿盅,利于程序的維護(hù)等操作。
框架相當(dāng)于把你原來(lái)復(fù)雜的操作變成了簡(jiǎn)單的搭積木揍魂,你手里有著許許多多形狀完美的積木桨醋,你想要搭建什么東西就只需要按照規(guī)則把這些積木一塊塊的搭好,如果你沒(méi)有這些積木的話现斋,你可能就需要自己用泥巴或者其他什么原材料一點(diǎn)一點(diǎn)的搭建你需要的東西喜最。也正如上面說(shuō)的因?yàn)榭蚣苁且呀?jīng)把原材料變成了積木所以他的形狀已經(jīng)固定,想要改變就會(huì)很麻煩庄蹋,而自己用原材料的話就會(huì)更加靈活瞬内,想要什么形狀就能變成什么形狀,這可能是框架唯一的缺點(diǎn)蔓肯。
不過(guò)就算框架可能有一些小毛病遂鹊,但是它對(duì)程序所帶來(lái)的好處是遠(yuǎn)遠(yuǎn)大于他的缺點(diǎn),所以框架現(xiàn)在仁是程序員開(kāi)發(fā)過(guò)程中不可缺少的一部分蔗包,特別是在各種大型項(xiàng)目中秉扑。
游戲框架
一般游戲都會(huì)有很多功能部分組成,就最基本的來(lái)說(shuō)调限,一個(gè)正常游戲都會(huì)有UI界面舟陆,聲音播放,物體加載等等耻矮。這些功能在游戲整體項(xiàng)目較小的時(shí)候無(wú)論使用什么方法調(diào)用都會(huì)比較簡(jiǎn)單秦躯,而一但項(xiàng)目變得龐大起來(lái),如果你不將各個(gè)模塊分類(lèi)聚合裆装,那你的程序就很可能變得混亂且難以維護(hù)踱承,這時(shí)候框架的重要性就體現(xiàn)出來(lái)了倡缠。
現(xiàn)在的大多游戲框架會(huì)對(duì)游戲的各個(gè)功能模塊進(jìn)行劃分,比如UIManager茎活,AudioManager昙沦,ResourceManager,通過(guò)這些Manager進(jìn)行對(duì)各個(gè)功能模塊的管理载荔,結(jié)合一些設(shè)計(jì)架構(gòu)比如MVC盾饮,MVP,MVVM等懒熙,進(jìn)行程序的解耦操作丘损,實(shí)現(xiàn)業(yè)務(wù)的獨(dú)立。
一個(gè)好的游戲框架可以幫助開(kāi)發(fā)者完成許多常用功能工扎,讓開(kāi)發(fā)者不在一些簡(jiǎn)單且繁瑣的操作中浪費(fèi)時(shí)間徘钥,從而專(zhuān)注于游戲的主要業(yè)務(wù)的實(shí)現(xiàn),所以游戲框架中一般還會(huì)集成一些常用的模塊定庵,比如狀態(tài)機(jī)吏饿,資源全球化踪危,資源打包等蔬浙。
總而言之,游戲框架是一個(gè)龐大的程序集贞远,它幫助你實(shí)現(xiàn)了許多常用的功能的同時(shí)還為你把編程規(guī)范化畴博,對(duì)模塊進(jìn)行了解耦,使你的開(kāi)發(fā)更加高效蓝仲,相當(dāng)于是站在了巨人的肩膀上俱病。
學(xué)習(xí)目標(biāo)
通過(guò)每周的學(xué)習(xí)實(shí)現(xiàn)一個(gè)框架的基本功能,并且對(duì)框架進(jìn)行不斷的完善袱结,并將其運(yùn)用到實(shí)際的開(kāi)發(fā)中檢驗(yàn)效果亮隙,經(jīng)過(guò)不斷的更新迭代最終實(shí)現(xiàn)一個(gè)可用且高效的游戲框架,完成小白到大牛的蛻變垢夹。
下一步計(jì)劃
對(duì)游戲架構(gòu)的確定溢吻,對(duì)游戲功能模塊的初步制定,框架的簡(jiǎn)單搭建果元。