所謂點燃,我們可以理解為範圍響應 。
接觸既點燃
首先要有範圍距離的概念。
如何實現距離範圍內的進行響應呢? 我們這樣做,以當前實體位置 為原點,以想要響應的距離為半徑。 繪製一個範圍,那麼範圍內的所有實體都執行一個特定方法。
範圍內接觸的物體
比如 燃燒方法(執行了那麼當前實體就燃燒) 也就是說範圍內具有這個方法的實體就觸發這個方法,實現點燃。 白話說,這個圈裡的物體,能點燃的都開始燃燒吧。
大範圍內點燃
被點燃的也以當前作為原點畫圈 返回範圍內物體。。。。鏈式反應
這樣就實現了一個廣播方式通知所有相鄰的可燃燒的實體,燃燒吧。
當然 ,燃燒只是屬性改變及表現。
不能燃燒的就不會燃燒
這個邏輯實現後。我們可以做任何功能實現,比如燃燒,連鎖破碎等。
那麼還有一個問題。就是這種傳播邏輯是一個循環內實現的。
一下都觸發了!這樣是不行的。 我們可以給觸發做一些條件限制,以及延時觸發邏輯。
所謂延時觸發,就是一個時間變量做為計時器基礎。不斷的幀循環內對這個記時數據做減法。
直到為零的時候,就啟動本身對周圍物體的傳染邏輯。
燃燒性能測試
這樣做之後,我們就實現了延時點燃,以及每次只點燃兩個沒有燃燒的實體。
最終實現 放火燒山的玩法。
全燒光光
至於火這個概念本身就有傷害屬性。
再燒一次螃蟹
所以可以火攻這種策略玩法。
快速清場
那麼下次我們聊聊如果用固定的事物實現簡單的機關。
比如 熱蒸汽無法通過,只能先去關掉它。
蒸汽牆
本日誌不定時更新哈。直到引擎完善,會出視頻教程。 請關注哈。