gpt4 book ai didi

iphone - View 上可触摸的多边形?

转载 作者:行者123 更新时间:2023-11-29 04:37:55 25 4
gpt4 key购买 nike

我需要显示一个 View ,在该 View 上我需要使用其顶点对多边形进行动画处理。多边形应该是可触摸的,因此一旦触摸就会触发一个事件,并且一旦它触发了该事件,我需要能够使用一些动画程序来移动其顶点。
我需要三个这样的多边形来形成 3D 立方体。

黑色区域是我在其上放置立方体的 View (实际上是图像)。

enter image description here

enter image description here

最佳答案

该过程有两个步骤:绘制和事件处理。

可以使用 Quartz2D 来完成绘图,方法是在 View 中实现一个drawRect,计算屏幕上立方体的坐标,然后创建并绘制路径,这对于实心填充的形状效果很好。另一种方法使用 OpenGL View ,您可以在其中指定三角形。

在事件处理端,您可以实现 onTouchesBegan: 等来获取交互的位置,也可以实现 hitTest: 来允许其下面的其他 View 处理后续事件。接下来您需要决定的是您想要的精确度 - 您可以定义一个与立方体大致匹配的框并测试其触摸情况。无论如何,大多数人都会想触摸它中间的某个地方。为了准确测试,您需要屏幕坐标,并测试每个多边形中的每个三角形以查看其是否包含该位置。谷歌出现a nice explanation对此所需的数学知识。在 OpenGL 情况下,您必须手动重复 OpenGL 执行的计算,以找出多边形在屏幕上的最终位置。

关于iphone - View 上可触摸的多边形?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10829474/

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