寫(xiě)了一年小游戲了磅摹,至今沒(méi)用過(guò)狀態(tài)機(jī)霎奢。
有個(gè)大神室友,寫(xiě)游戲總用狀態(tài)機(jī)(游戲狀態(tài)機(jī)帝美,動(dòng)畫(huà)狀態(tài)機(jī)...)晤硕,感覺(jué)他寫(xiě)代碼結(jié)構(gòu)十分清晰,不像我舞箍,寫(xiě)著寫(xiě)著就亂了,然后沒(méi)激情了抵知,然后想重寫(xiě)了软族。
大神室友教過(guò)我搭建一個(gè)狀態(tài)機(jī)的框架(他念一句残制,我寫(xiě)一句),然而即使是這樣初茶,我也沒(méi)能學(xué)會(huì)如何用狀態(tài)機(jī)編程。
大概兩三周時(shí)間螺戳,內(nèi)心經(jīng)歷如下:
尷尬->慚愧->自責(zé)->懶惰->失望->振奮->行動(dòng)
所以,在一番回憶無(wú)果后倔幼,決定自己開(kāi)始摸索。各種搜索一番[狀態(tài)機(jī)][狀態(tài)機(jī)編程][狀態(tài)機(jī)模式]后翩腐,寫(xiě)了幾個(gè)小例子:
以[電梯]作為例子來(lái)學(xué)習(xí)FSM
實(shí)例目錄 Classes/TestElevator
剛好Cocos2d-x引擎用來(lái)順手膏燃,就直接借用它的UI來(lái)實(shí)現(xiàn)這個(gè)例子了。實(shí)例所用環(huán)境cocos2d-x 3.10组哩。
開(kāi)發(fā)語(yǔ)言是C++,除了顯示部分可能有用到引擎蛛砰。示例的主要邏輯是與引擎無(wú)關(guān)的幕袱,即使直接去看源碼也是沒(méi)有任何問(wèn)題的。
附中英文注釋们豌。(為什么是中英文?...因?yàn)槲矣⑽牟钫习瑳](méi)法全英文)
計(jì)劃寫(xiě)幾篇文章來(lái)作為每一個(gè)例子(對(duì)電梯示例的多種實(shí)現(xiàn))的總結(jié):
- [因?yàn)槲也欢-什么是狀態(tài)機(jī)編程(設(shè)計(jì)模式)(0)
- [因?yàn)槲也欢-什么是狀態(tài)機(jī)編程(設(shè)計(jì)模式)(1)
- [因?yàn)槲也欢-什么是狀態(tài)機(jī)編程(設(shè)計(jì)模式)(2)
- [因?yàn)槲也欢-什么是狀態(tài)機(jī)編程(設(shè)計(jì)模式)(3)
希望我這個(gè)笨腦袋能夠從中學(xué)到點(diǎn)什么辩尊。