1

我的应用程序使用RenderTexture begin(), visit(),end()方法在画布上绘制(渲染纹理)。现在,我如何实现 1-5 步的撤消功能。

在我的游戏更新循环中,计算touchlocations节点空间中的touch和prev,以及它们之间的距离,并通过访问画笔节点在画布上绘制线条。

我确实看过slipster216'回复:here

但是,这种方法可能意味着从头开始重新编写,因为它需要自定义笔画类。

想法:

  1. 以某种方式保存渲染纹理的状态?

  2. 保存图像touchended并在撤消到精灵时读取它们,someHOW?

  3. 将“5”渲染纹理保留在内存中,撤消时替换,但内存很重?

任何帮助表示赞赏。

4

1 回答 1

0

使用 5 个精灵的临时缓冲区。每次用户绘制东西时,首先将其存储在临时缓冲区中,就像队列一样。在第 6 次绘制时,将第一个元素发送到永久渲染纹理。对于撤消,只需删除队列。

于 2013-06-28T09:42:49.063 回答