iPhone SDK: Как сохранить пару координат, созданную во время сенсорного события? - PullRequest
0 голосов
/ 19 апреля 2009

Я пытаюсь создать вращающийся объект для iPhone. У меня есть все расчеты триггера. Проблема в том, что для моего проекта мне нужно, чтобы программа сбрасывала x и y каждый раз, когда палец перетаскивается более чем на 30 градусов вокруг центральной точки. Всякий раз, когда я связываю переменную с x и y текущего местоположения в функции touchesMoved, они связываются постоянно и постоянно меняются вместе с событием перетаскивания вместо того, чтобы оставаться постоянным и обновляться каждые 30 градусов. Есть ли способ статически хранить x и y?

Кайлоа Кадано, уже сделал это, и он все еще связан и обновлен. Код: currentpoint = [touch locationInView: self.view]; когда угол между начальной точкой и текущей точкой> = 30 градусов установить altpoint = currentpoint, я сделал это с помощью CGPointMake, и это не сработало. altpoint постоянно обновляется до текущей точки

Ответы [ 2 ]

1 голос
/ 19 апреля 2009

Используйте структуру CGPoint.

CGPoint point = CGPointMake (1,2); point.x // 1 point.y // 2

0 голосов
/ 12 августа 2009

Обязательно объявите CGPoint startPoint в вашем файле классов .h, а затем обновите значение в вашей реализации touchesBegan с помощью:

startPoint = CGPointMake(point1.x, point1.y);

Как указано Kailoa выше. Затем в своей реализации touchesMoved вы можете проверить, находится ли новая точка с шагом более 30 градусов, и, если это так, обновить startPoint.

Если вышеупомянутое не то, что вы ищете, пожалуйста, опишите подробности / пример кода.

...