gpt4 book ai didi

android - 使用 SurfaceView 进行多点触控绘图

转载 作者:行者123 更新时间:2023-11-29 22:24:21 25 4
gpt4 key购买 nike

过去,我编写了一个可以通过两次触摸来绘制线条的应用程序。我所做的是创建两个向量,一个用于指针 ID 0,一个用于指针 ID 1(因此其他任何内容都将被忽略)。我会缓冲要在我的 onTouch 方法中绘制的点,然后在我的表面绘制方法中为两条单独的线绘制线条。我同步了代码的这些部分,以便 UI 线程和图形线程不会互相吐槽。这很好用。

现在我想做的是相同的,但触摸次数不受限制。由于我有无限次触摸,并且屏幕上有任意数量的随机指针 ID,因此我无法简单地为多次触摸制作矢量,因为我不知道有多少次触摸。

什么是缓冲多个触摸的好方法,具有各种指针 ID,以便我可以绘制它们?

也许有一个多点触控绘图应用可供我引用?

谢谢,

最佳答案

一种解决方案可能是使用以整数作为键(pointerId)并以路径作为对象的映射。在触摸端,在 TOUCH_DOWN 上开始一条路径,将其添加到 map 中,然后每次移动时访问它。在上面,您可以将其从 map 中删除并将其“提交”到通用路径列表,独立于初始 pointerId(或者您可以将原始 pointerId 与路径一起存储)。

所以基本上,在绘制它们时,将路径保存在使用 pointerId 索引的 map 中,一旦绘制完成,就将它们保存在全局列表中。

关于android - 使用 SurfaceView 进行多点触控绘图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6346901/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com