#鸿蒙通关秘籍#如何在鸿蒙中实现手写撤销和重置功能?

HarmonyOS
5h前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
UEFI碧霄万里

在鸿蒙中使用RenderNodeappendChild方法添加新的手写绘制节点,实现手写轨迹记录。使用getChildremoveChild对最后一个节点进行撤销,调用clearChildren来重置画布:

ts private currentNode: MyRenderNode | null = null; private nodeCount: number = 0;

// 撤销功能 goBack() { if (this.myNodeController.rootRenderNode !== null && this.nodeCount > 0) { const node = this.myNodeController.rootRenderNode.getChild(this.nodeCount - 1); this.myNodeController.rootRenderNode.removeChild(node); this.nodeCount--; } }

// 重置功能 resetCanvas() { if (this.myNodeController.rootRenderNode !== null && this.nodeCount > 0) { this.myNodeController.rootRenderNode.clearChildren(); this.nodeCount = 0; } }

分享
微博
QQ
微信
回复
3h前
相关问题