我有一个应用程序播放视频并将视频绘制到移动位置的屏幕上。当我运行应用程序时,视频在播放时会在屏幕上移动。这是我的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);
}
视频水平移动屏幕。这并不像我预期的那样,因为我没有清除屏幕的代码行。我的问题是为什么它不会留下痕迹?
另外,我怎么能让它留下痕迹呢?
答案 0 :(得分:1)
我认为视频是水平移动的,因为在新的Rectangle中(声明你有“x ++”并且在绘制cicles上递增x os矩形的位置。使后面的路径或者不清理previus绘制你需要实现back buffer whith渲染目标,制作previus缓冲区的副本并再次绘制它。 我将如何尝试。