我正在完成構建我的OOP技巧的過程, 並編寫了一個抽象的Screen類,其中包含一個將KeyboardState和MouseState作爲參數的更新方法,以及一個繪製方法, SpriteBatch作爲參數。 該類還包含一個bool isEnabled,以及啓用/禁用它的方法。在XNA 4.0中管理自定義屏幕
到目前爲止,它的工作很好,擴展了這些並且在沒有問題的情況下使用 ,直到它從一個屏幕移動到另一個屏幕。 我想知道爲什麼屏幕被禁用,以及接下來要啓用的屏幕。
目前我在屏幕中使用一個int變量,並且主類檢查實現Screen的類是否被禁用並且具有「禁用原因」int。如果是這樣,它會根據該int進行操作。 我想int不是最好的選擇,Enum會更好嗎?
但我真正的問題是,有沒有更好的方式來傳遞數據回到主類? 我必須輪詢每個禁用的類,看看是否有「被禁用代碼的原因」?
感謝您的回答:) 是的,我的想法只是給我的代碼賦予純整數值的意義是不好的做法。當我稍後將其擴展時,更不用說混淆了。 – mhorne 2011-05-10 15:15:54