0

レンダー ターゲットを使用して画面に画像を描画しようとしています。私はこのコードを使用しました:

 _renderTarget = new RenderTarget2D(
                 this._graphicsDevice,
                 this._graphicsDevice.PresentationParameters.BackBufferWidth,
                 this._graphicsDevice.PresentationParameters.BackBufferHeight,
                 false,
                 this._graphicsDevice.PresentationParameters.BackBufferFormat,
                 DepthFormat.None, 0, RenderTargetUsage.PreserveContents);

  _graphicsDevice.SetRenderTarget(_renderTarget);
                _spriteBatch.Begin();

   _spriteBatch.Draw(texture, drawPoint, null, Color.Red, 0.0f
                , new Vector2(texture.Width / 2, texture.Height / 2), 0.5f, SpriteEffects.None, 0                         .0f);
                _spriteBatch.End();
      _graphicsDevice.SetRenderTarget(null);

しかし、結果の画像は常に黒です!この画像の色を変えるのを手伝ってくれませんか。ありがとう。

4

1 に答える 1

0

示されているコードから、_spriteBatch.Drawはコンテンツを にレンダリングするだけ_renderTargetです。

次に、結果RenderTarget2Dを画面に表示して表示する必要があります。

あなたはすでに_graphicsDevice.SetRenderTarget(null)整っています。SpriteBatch.Draw次に、を渡して別の呼び出しを行う必要があります_renderTarget

これができるのは、 RenderTarget2D がTexture2D を拡張しているためです。

于 2014-03-13T07:46:13.943 に答える