早安(如果你所在的地方是早上的话)
我一直在环顾四周,但没有找到令人满意的方法,所以我想我会四处询问......
理想的世界我希望能够生成一个透明的Texture2D对象。将其绘制到屏幕上我希望能够“绘制”它,即当鼠标左键按下时,光标所在的任何像素都应设置为黑色。接下来我需要能够使用这个纹理。
使用纹理是最简单的部分,我们可以简单地为“绘画”对象创建一个新的Texture2D属性,并在SpriteBatch.Draw方法中使用它。两个棘手的部分是
- 生成指定大小的texture2D对象,在代码中填充透明度。
- 动态编辑 2D 纹理(即能够改变像素颜色)
如果有人对这些有任何经验,您的输入将非常感激。
您可以使用RenderTarget2D
(MSDN http://msdn.microsoft.com/en-us/library/bb198676.aspx),它本身就是一个Texture2D
(所以你可以使用它SpriteBatch.Draw
)。这允许您以与渲染到屏幕上相同的方式渲染到纹理上。你需要使用GraphicsDevice.SetRenderTarget
(MSDN http://msdn.microsoft.com/en-us/library/ff434434.aspx)进行设置。
或者你可以使用Texture2D.SetData
(MSDN http://msdn.microsoft.com/en-us/library/microsoft.xna.framework.graphics.texture2d.setdata.aspx)直接操作像素。您可以构建一个透明的Texture2D
直接地 (MSDN http://msdn.microsoft.com/en-us/library/microsoft.xna.framework.graphics.texture2d.texture2d.aspx)。别忘了Dispose
您自己创建的任何纹理或其他资源!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)