我需要在屏幕上顯示一些關於各種遊戲對象的統計,數字和圖表。獲取對象數據的最佳方法?
(實例:攝像機位置,視場,每秒幀數,飽滿率,撲殺對象的數目,等等)
目前其希望被繪製或顯示的任何對象沿着這些實現一個接口行:
public interface IGraphable
{
float GraphableValue { get; set; }
}
然後,該對象可以發送到圖形組件顯示。這具有一些明顯的缺點,例如不能夠繪製屬於同一類的兩個不同的數據片段。
我想要的是一種將指針傳遞到數據所在的位置的方法,或者指向知道如何返回數據而不是將對象傳遞給顯示組件的函數的指針。
我相信這就是代表的用途,但我不明白如何在這種情況下使用它們(實際上我根本不理解它們)。另外,是否有另一種(更聰明/更好)的方式來做到這一點?
謝謝!
感謝您的鏈接!我會仔細看看的。但是,我聽說反映很慢。這是真的? (據我所知,慢是一個相對的術語) – zfedoran 2009-10-12 00:54:15
是的,我不確定反射的速度。我的猜測是,它不像調用方法那麼快(因爲代表會讓你這麼做)。如果它被稱爲每秒一百萬次,你可能不想使用反射。但我可能是錯的;-)我不花一大堆時間來使用它們。 – Smashery 2009-10-12 01:01:14