如何使用XNA永久地将视频帧绘制到屏幕上?

时间:2011-02-10 07:07:42

标签: windows video xna

我有一个应用程序播放视频并将视频绘制到移动位置的屏幕上。当我运行应用程序时,视频在播放时会在屏幕上移动。这是我的Draw方法......

    protected override void Draw(GameTime gameTime)
    {
        Texture2D videoTexture = null;

        if (player.State != MediaState.Stopped)
            videoTexture = player.GetTexture();

        if (videoTexture != null)
        {
            spriteBatch.Begin();
            spriteBatch.Draw(
                    videoTexture,
                    new Rectangle(x++, 0, 400, 300),  /* Where X is a class member */
                    Color.White);
            spriteBatch.End();
        }

        base.Draw(gameTime);
    }

视频水平移动屏幕。这并不像我预期的那样,因为我没有清除屏幕的代码行。我的问题是为什么它不会留下痕迹?

另外,我怎么能让它留下痕迹呢?

1 个答案:

答案 0 :(得分:1)

我认为视频是水平移动的,因为在新的Rectangle中(声明你有“x ++”并且在绘制cicles上递增x os矩形的位置。使后面的路径或者不清理previus绘制你需要实现back buffer whith渲染目标,制作previus缓冲区的副本并再次绘制它。 我将如何尝试。