2009-04-18 7 views
0

Ich versuche ein rotierendes Objekt für das iPhone zu erstellen. Ich habe es berechnet alle Trigonometrie. Das Problem ist, dass ich für mein Projekt das Programm jedes Mal, wenn ein Finger mehr als 30 Grad um den Mittelpunkt gezogen wird, zurücksetzen muss. Immer, wenn ich eine Variable mit dem x und y der aktuellen Position innerhalb der touchesMoved-Funktion verknüpfe, verknüpfen sie sich permanent und ändern sich kontinuierlich mit dem Ziehereignis, anstatt konstant zu bleiben und alle 30 Grad zu aktualisieren. Gibt es eine Möglichkeit, ein x und y statisch zu speichern?iPhone SDK: Wie speichern Sie ein während eines Berührungsereignisses erzeugtes Koordinatenpaar?

Kailoa Kadano, bereits getan, und es immer noch verknüpft und aktualisiert. Code: currentpoint = [Touch locationInView: self.view]; wenn Winkel zwischen Startpunkt und currentpoint> = 30 Grad set altpoint = currentpoint, habe ich das mit CGPointMake und es hat nicht funktioniert. Altpoint wird fortlaufend auf den aktuellen Punkt aktualisiert

+0

Kailoa Kadano, hat das schon gemacht und es hat immer noch verlinkt und aktualisiert. Code: currentpoint = [Berührung locationInView: self.view]; wenn Winkel zwischen Startpunkt und currentpoint> = 30 Grad set altpoint = currentpoint, habe ich das mit CGPointMake und es hat nicht funktioniert. altpoint fortlaufend aktualisiert auf currentpoint –

+0

kann man den genauen code für "set altpoint = currentpoint" posten, klingt das komisch. –

Antwort

1

Verwenden Sie das CGPoint-Struct.

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

0

Seien Sie sicher, CGPoint startpoint in Ihren Klassen H-Datei, und aktualisieren Sie dann den Wert in Ihrer touchesBegan Umsetzung mit erklären:

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

Wie spezifiziert von Kailoa oben. Anschließend können Sie in Ihrer touchesMoved-Implementierung überprüfen, ob der neue Punkt eine Trennung von mehr als 30 Grad aufweist. Wenn dies der Fall ist, aktualisieren Sie startPoint.

Wenn das obige nicht das ist, was Sie suchen, bitte posten Sie weitere Details/Beispielcode.