C# 在XNA中重置纹理2D

C# 在XNA中重置纹理2D,c#,xna,reset,texture2d,C#,Xna,Reset,Texture2d,我的一个实验有问题。我正在尝试制作一种方法,将一个纹理2D融合到另一个纹理2D中,然后重新加载纹理2D,这次将粘贴的纹理移动到一个新的位置。我计划在以后的项目中完善这种方法,我将聚光灯粘贴到黑暗的背景上,照亮背景后面的风景。虽然我设法使粘贴到方法完美地工作,但我的计划的第二部分遇到了一些重大问题。我将粘贴的纹理设置为矢量2,其中X成员每帧增加1,从而沿背景拖动粘贴的纹理。但是,背景不会在每帧后重置,在上一幅图像所在的背景上留下一个拖动标记。在过去的半个小时里,我一直在努力解决这个问题,重置背景纹

我的一个实验有问题。我正在尝试制作一种方法,将一个纹理2D融合到另一个纹理2D中,然后重新加载纹理2D,这次将粘贴的纹理移动到一个新的位置。我计划在以后的项目中完善这种方法,我将聚光灯粘贴到黑暗的背景上,照亮背景后面的风景。虽然我设法使粘贴到方法完美地工作,但我的计划的第二部分遇到了一些重大问题。我将粘贴的纹理设置为矢量2,其中X成员每帧增加1,从而沿背景拖动粘贴的纹理。但是,背景不会在每帧后重置,在上一幅图像所在的背景上留下一个拖动标记。在过去的半个小时里,我一直在努力解决这个问题,重置背景纹理,使其在粘贴其他图像时再次干净

这是我的密码

命名空间复制测试 { 公众阶级形象 { 公共纹理2D位图; 公共向量2位置; 公共字符串位图名称; 公共矩形视口; 公共颜色色调=颜色。白色; public void ResetViewportDimensions { this.Viewport=新矩形this.Viewport.X,this.Viewport.Y,Bitmap.Width,Bitmap.Height; } 公共无效DrawSpriteBatch目标 { } 公共管理器EbitMacContentManager目标 { this.Bitmap=null; this.Bitmap=Target.Loadthis.BitmapName; } 公共图像矢量2位置,字符串位图名称 { this.BitmapName=BitmapName; 这个位置=位置; } } 公共类游戏1:Microsoft.Xna.Framework.Game { 图形管理器图形; SpriteBatch SpriteBatch; 公共图像彩虹=新图像新矢量20,0,彩虹; 公共图像眼睛=新图像新矢量20,0,发光; 公共图像打印输出=新图像新矢量20,0,彩虹; 公共矢量2目的地=新矢量2100,50; 公共无效打印到图像源、图像目标、矢量2位置 { 颜色[]A=新颜色[Source.Bitmap.Width*Source.Bitmap.Width]; 颜色[]B=新颜色[Target.Bitmap.Width*Target.Bitmap.Width]; int Y=0; int X=0; Source.Bitmap.GetDataA; Target.Bitmap.GetDataB; 对于int i=0;i任何帮助都将不胜感激。

您可能对阅读渲染目标感兴趣。您基本上可以在内存中将多个精灵组合成一个。这可能对您有用,并改进您的实现。