Я работаю над игрой, в которой я пытаюсь запустить два разных типа, если пули на одном кране и два крана соответственно.NSDictionary to CGPoint
Вот что я делаю в моих прикосновениях начали метод:
- (void)ccTouchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
for(UITouch *touch in touches)
{
CGPoint location = [touch locationInView: [touch view]];
location = [[CCDirector sharedDirector] convertToGL: location];
NSLog(@"TOUCH LOCATION IN TOUCH BEGAN = (%f , %f)", location.x , location.y);
NSUInteger tapCount = [touch tapCount];
switch (tapCount)
{
case 1:
{
NSDictionary * touchloc = [NSDictionary dictionaryWithObject:[NSValue valueWithCGPoint:location] forKey:@"location"];
[self performSelector:@selector(startTimer:) withObject:touchloc afterDelay:3];
break;
}
case 2:
{
[NSObject cancelPreviousPerformRequestsWithTarget:self selector:@selector(startTimer) object:nil];
[self performSelector:@selector(removeBall) withObject:nil afterDelay:1];
break;
}
default:
{
break;
}
}
}
Теперь в моем perform selector(startTimer:)
я получаю координаты точки, где я касаюсь в NSPoint
(Как я использую NSDictionary
) Все, что я хочу знать .. как мы можем преобразовать эти точки в CGPoints ..?
Любая идея, как я могу это сделать?
Любая помощь будет по-настоящему оценена.
Jadhav: Спасибо братан :) Он работал как шарм – Shailesh
для меня, правильной функции для сохранения и возврата CGPoint к NSDictionary является следующим: NSDictionary * touchloc = [Словарь NSDictionaryWithObject: [Значение NSValueWi thPoint: cgPointPositionTouchPoint] forKey: @ "location"]; CGPoint points = [[touchloc valueForKey: @ "location"] pointValue]; –