这是我关于在 plist 上检索数据的第一个查询的后续问题。现在我已经设法通过随机图像调用检测到用户对我的视图所做的触摸(感谢 phytonquick)。
CGPoint currentTouchLocation = [currentTouch locationInView:self];
我现在在如何比较我从用户在视图中的随机图像上触摸得到的值与保存在 plist 数据中与用户触摸的随机图像同名的值时遇到了麻烦。我知道如何计算触摸距离,所以我可以调整命中点。
-(CGFloat) distanceBetween: (CGPoint) point1 and: (CGPoint)point2
NSMutableDictionary *????? = [self loadDictionaryFromPList: @"?????"];
NSNumber *1stXCoordinate = [????? objectForKey:@"1stXCoordinate"];
NSNumber *1stYCoordinate = [????? objectForKey:@"1stYCoordinate"];
if (1stXCoordinate && 1stYCoordinate)
{
CGPoint 1stTouchLocation = CGPointMake([lastXCoordinate floatValue], [lastYCoordinate floatValue]);
CGFloat distanceBetweenTouches = [self distanceBetween: currentTouchLocation and: 1stTouchLocation];
if (distanceBetweenTouches < 20)
{
// do something here
NSLog(@"You hit it.");
}
}
我也不知道我应该如何构建我的 plist 数据。我已经阅读了几本带有示例的书(例如“iphone 3 dev”),但是当我看到的大多数示例都是用于桌面视图时,我无法特别弄清楚。这就是我布局我的 plist 的方式:
randImage <-- callout array
p1.jpg <-- image represented by array
tap1 <-- Array
item 1 - x1 coordinate <-- Number
item 2 - y1 coordinate <-- Number
item 3 - x2 coordinate <-- Number
item 4 - y2 coordinate <-- Number
item 5 - x3 coordinate <-- Number
item 6 - y3 coordinate <-- Number
tap2 <-- Array
item 1 - x1 coordinate <-- Number
item 2 - y1 coordinate <-- Number
item 3 - x2 coordinate <-- Number
item 4 - y2 coordinate <-- Number
p2.jpg <-- image represented by array
tap1
item 1....etc
有人可以请我指导我应该如何做到这一点的正确道路。谢谢你。