【问题标题】:XNA Basic Paint programXNA Basic Paint 程序
【发布时间】:2012-04-05 13:04:49
【问题描述】:

我启动了一个非常基本的 XNA 4.0 程序,我在其中通过内容加载器加载了一个小点的红色图像。红点是 10x10,边缘是圆形的,使它看起来很圆。我在屏幕上绘制它并将其 X 和 Y 位置更新为鼠标的 X 和 Y 位置。所以基本上它是一个自定义的红色光标。

现在我的问题是: 我将如何将此光标用作画笔?当我单击鼠标左键时,我希望它绘制到当前屏幕大小的空白 Texture2D 背景上。它的功能就像 MSPAINT 中的画笔一样。

我想我需要一个 Vector2 点数组来保存鼠标移过的点,并且在更新发生时为这些点中的每一个点绘制背景 Texture2D 上的点?

这可能不是很有效,但这是我当时能想到的。

我也读过 Texture2Ds 的颜色数据变化,可惜没有运气。

【问题讨论】:

  • 为什么不保存 who 画布的内存图像,并且每当您添加“绘制”新点时更新图像,因此刷新只需要绘制部分图像的图像.. . 无论如何我在 XNA 中一无所知,所以这只是一个想法,不确定它是否在这里有效。
  • 以与任何其他具有此功能的程序相同的方式实现它。你使用 XNA 并没有让它特别。如果您甚至不知道如何开始,那么您就出局了,请雇用知道自己在做什么的人。我的意思是你确实拥有计算机科学学位,你声称你有使用 DirectX 的经验,这告诉我你的个人资料充满了谎言。
  • Ramhound,我很抱歉你有这种感觉,但我认为这有点苛刻,如果你不相信我,请看看我的作品集sourcemodding.com/portfolio/index.html我可以理解你的怀疑,因为这是我的第一篇文章stackoverflow,说你无权声称我的个人资料“充满谎言” Stackoverflow 是一个著名的社区,以其高度乐于助人的公民而闻名。为了您的信息以及 Ramhound,我花了最后 4 到 5 个小时试图弄清楚它,我终于弄明白了。下次尝试多一点理解。谢谢

标签: c# xna draw paint brush


【解决方案1】:

我从未尝试过用 XNA 绘画,但我喜欢这个主意! 因此,我环顾四周,发现了这个已回答的问题,谁知道这可能正是您所需要的! 祝你游戏好运。 XNA draw / paint onto a Texture2D at runtime

【讨论】:

  • 我设法不完全从您在上面提供的链接中弄清楚,但它让我找到了最终解决问题的方法。如果您有兴趣,可以查看我自己对问题的回答:)。谢谢
  • 没问题,但你知道你可以为你的问题添加一个真实的答案并接受它吗?让事情更清楚;)
  • 我想我知道你的意思是“回答我自己的问题”吗?我试过了,但我需要等待 4 个小时,因为我是新用户,我才能这样做。我会在 4 过去了 :) 如果你想看看它,虽然它可以在这里找到 thefoofighter@github.com/thefoofighter/paint.git
  • 谢谢 :) 我去看看
【解决方案2】:

对于那些对我如何在屏幕上“绘制”感兴趣的人,可以在这里找到整个代码库 https://thefoofighter@github.com/thefoofighter/paint.git

这当然是解决我的问题的最佳方法,但它可以完成我需要它做的事情,而且由于我不需要担心将更大的程序导入到其中进行优化,所以我没有尝试过让它变得更好。

上述 Git 有一个自述文件,其中提供了有关更改和优化的更多信息。

【讨论】:

    【解决方案3】:

    在加载内容时:

    var renderTarget = RenderTarget2D(graphicsDevice, width, height, false, SurfaceFormat.Color, DepthFormat.None, 0, RenderTargetUsage.PreserveContents);
    

    抽签:
    - 设置此渲染目标
    - 在当前位置绘制画笔
    - 取消设置渲染目标
    - 绘制渲染目标

    这样您就不需要从渲染目标设置/取消设置数据到纹理上或跟踪之前的位置。

    【讨论】:

      猜你喜欢
      • 2013-01-13
      • 1970-01-01
      • 2013-05-21
      • 1970-01-01
      • 1970-01-01
      • 2016-01-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多