2011-08-16 4 views
0

私はIDrawableとIUpdateableの2つのインターフェースを持っています。具体的なドロアブルは更新可能ですが、すべてではありません。たとえば、アニメーションを含むスプライトは、IDrawableとIUpdateableの両方を実装しますが、IDrawableを実装するだけの静的イメージです。IDrawableからアニメーションを更新する方法を処理するには?

問題は明らかです... IDrawableリファレンスだけでアニメーションを更新するにはどうしたらよいですか?私がSpriteをButtonに渡してグラフィック表現として使用する場合、Buttonはスプライトアニメーションを進めることができないため、静的なままです。

アイデア?あなたのすべてのオブジェクトは、このインタフェースを実装する必要があり

public interface IXXXObject { 
    IDrawable Drawable { get; } // return null if not support IDrawable 
    IUpdatable Updatable { get; } // return null if not support IUpdatable 
} 

答えて

0

ソリューションは、新たな抽象化を定義することです。 これで、オブジェクトをIXXXObjectとして渡す必要があり、サポートしている場合はその機能を呼び出すことができます。

関連する問題