private Vector2 ResolveCollision(ICollidable moving, ICollidable stationary)
{
if (moving.Bounds.Intersects(stationary.Bounds))
{
if (moving is Player)
{
(Player)moving.Color = Color.Red;
}
}
// ...
}
私はクラスPlayer
があり、ICollidable
を実装しています。デバッグの目的のために、私はちょうどICollidables
の束をこのメソッドに渡そうとしており、それがプレイヤーのときには特別なことをしています。しかし、私がICollidable
のPlayer
にキャストしようとすると、ICollidable
にColor
というプロパティがないというエラーが表示されます。インターフェイスからクラスへのキャストに失敗したのはなぜですか?
このようにキャストできないのですか、何か間違っていますか?
念を間違っ: '((プレーヤー)の移動).Color = ...'あなたが言うべき – Davio
((プレーヤー)の移動).Color = Color.Red色がPlayerの属性である場合 – wxyz
私の新しい問題は、どの答えを受け入れるかを決めることです。私は遅いためにこのサイトを決して失敗することはできません... – ssb