我的目标是:让用户在屏幕上触摸两个不同的点,应用程序将输出表示这些点之间距离的数字。我该如何实现?
在简单的层面上,你可以采用勾股定理的方法来计算两点之间的距离,具体如下:
double distance = sqrt(pow((x2 - x1), 2.0) + pow((y2 - y1), 2.0));
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
方法(在注册为UIResponder并通过[self setMultipleTouchEnabled:YES];
接收多个触摸的情况下),在这种情况下,您可以从NSSet中提取UITouch 并使用locationInView
方法获取有关该触摸的CGPoint
以提取.x
和.y
值。
如果您之前没有使用过这些类,我建议您阅读以下内容:
然而,如果你之前没有使用过这些东西,我也建议你阅读一下iOS事件处理指南文档,以便让你有一个良好的基础。 (你可能还想退后一步,消化创建iPhone应用程序文档,因为这些文档详细介绍了如何捕获触摸事件等内容,并提供了源代码)。当您接收到触摸事件时,会得到它的xy坐标。您可以使用我们在小学中学到的公式d = sqrt((x_2 - x_1)^2 + (y_2 - y_1)^2))
。这将为您获取它们之间以像素为单位的距离。iPhone4具有326 ppi,因此将获得的距离除以326,您就可以估算出触摸之间的距离(以英寸为单位)。