我現在正在做一個遊戲,幾乎所有的東西都有它自己的類。我覺得我有一個問題的主要課程是我的'級別'和'對象'類。這個關卡類包含了關卡中每個圖像的圖像,而Object類包含了屏幕上每個物體的圖像(一個物體幾乎是任何東西:玩家,敵人,物品等)。在程序中的任何位置都可以訪問變量的最佳方式是什麼?
我現在的方式是,Object類有一個圖像,當你創建一個新的對象,你加載一個新的圖像。因此可以說,你有兩個敵人使用相同的圖像,這兩個對象的實例將單獨加載圖像,我會在內存中有兩個相同的圖像。這似乎是一個非常糟糕的主意,後來當我的遊戲變得更加複雜時,它會減慢很多。
所以我在想的是做一個類似資源管理器類的東西,它可以容納所有的圖片,而且每個對象只會向資源管理器詢問它需要的圖片。這樣它只會存儲一次圖像並節省一些空間。
我可能很容易用Object類中的靜態變量來做到這一點,但由於Level類也需要使用圖像,因此它也需要訪問資源管理器。將一個指向資源管理器的指針發送給每個對象/級別的實例(或其他任何後來需要它的類)並且以這種方式訪問它會是最好的嗎?或者有沒有更好的方法來做到這一點?
最好的方法(一般)沒有這樣的變量。 – delnan 2011-02-26 20:58:40