2013年4月20日 星期六

獨一無二的參考 - Singleton

架構程式的過程中,要取得玩家血量、速度,還是場面上的敵人數量、資料,會需要將很多物件關聯起來。只是在關聯參考的時候,管理上往往變的很麻煩。所以要創造一個環境去讓程式可以找到所有可能需要被參考的資料,但又為了這個環境,又需要去創造更多的物件出來。

要解決這個問題,在程式的架構技巧上,有一個很常被使用的方法 - Singleton。

這個架構指的是這項物件在環境中是獨一無二的,例如單機遊戲的分數資料、殺敵數等等。 在這個情況下,我們便可以使用這個技巧來簡化我們的程式的架構。

Singleton 的基本範例



延伸為遊戲資料的範例


這時候如果要設定玩家的資料,就只要做這樣的動作

分數 + 20
MyGameData.Singleton.m_score += 20;
殺敵數 + 1
MyGameData.Singleton.m_kills++;

很簡單吧~

沒有留言:

張貼留言