0

だから私はと呼ばれる Texture2D のサブクラスを持っていScrollingBackgroundTextureます。でテクスチャをロードするために使用したいのContent.Load<>ですが、うまく動作しないようです。

これが私のサブクラスのコードです(今のところ、それは単なるコンストラクターです):

class ScrollingBackgroundTexture : Texture2D {
    public ScrollingBackgroundTexture(GraphicsDevice graphicsDevice, int width, int height) : base(graphicsDevice, width, height) { }
}

そして、これが私のメインクラスのコードで、問題を引き起こしています:

test = Content.Load<ScrollingBackgroundTexture>("near stars");

このエラーは、ファイルに が含まれていることを示していますがTexture2DScrollingBackgroundTexture.

私も試してみました

test = (ScrollingBackgroundTexture)Content.Load<Texture2D>("near stars");

しかし、それは私に別のエラーを与えるだけです。

4

1 に答える 1

3

私はあなたがそれを行うことができるとは思わない. 理由は次のとおりです。Texture2D のサイズは X バイトです。ScrollingBackgroundTexture のサイズは X + Y です。ScrollingBackgroundTexture は、X + Y の大きさであるため、X の大きさのコンテンツをロードする方法を知りません。

必要なことは、ScrollingBackgroundTexture 用の独自のカスタム コンテンツ タイプを作成することです。その方法については、MSDNを参照してください。

もし私があなただったら、継承よりも構成を優先するもう少し優れたデザインのものに切り替えるでしょう! これには、コンテンツ パイプラインをいじる必要がないという追加のボーナスがあります。

于 2011-11-09T23:47:07.883 に答える