标签: xna textures xna-4.0 texture2d
早上好(如果早上你在哪里)
我一直在环顾四周,并没有看到一个令人满意的方法,所以我想问一下......
理想世界我希望能够生成透明的Texture2D对象。将其绘制到屏幕上我希望能够“绘制”它,即当鼠标左键按下时,光标所在的任何像素都应该设置为黑色。接下来,我需要能够使用这种纹理。
使用纹理是一件容易的事情,我们可以简单地为“绘画”对象创建一个新的Texture2D属性,并在SpriteBatch.Draw方法中使用它。
如果有任何人对此有任何经验,那么您将非常感激。
答案 0 :(得分:14)
您可以使用RenderTarget2D(MSDN),这本身就是Texture2D(因此您可以在SpriteBatch.Draw中使用它)。这允许您以与渲染到屏幕上相同的方式渲染到纹理上。您需要使用GraphicsDevice.SetRenderTarget(MSDN)进行设置。
RenderTarget2D
Texture2D
SpriteBatch.Draw
GraphicsDevice.SetRenderTarget
或者您可以使用Texture2D.SetData(MSDN)直接操作像素。您可以直接构建透明Texture2D(MSDN)。不要忘记自己创建的任何纹理或其他资源Dispose!
Texture2D.SetData
Dispose