Hi,
sry vlt. hab ich mich unverständlich ausgedrückt , also ich möchte, dass der Ball sich nicht aus dem Bildschirm bewegt also am Rand stoppt. Dafür hab ich diesen Code der auch bisher gut funktioniert.
Alles anzeigen
Und dann möchte ich noch, dass wenn der Ball in die nähe des Loch´s kommt er wie ein Magnet von der Lochmitte angezogen wird und dort bleibt. Und da hänge ich im Moment.
Ich habe dafür versucht die CGRectIntersectsRect Methode einzusetzen aber da passiert leider rein garnichts und ich möchte gerne wissen wieso und wie ich das ans laufen kriege.
sry vlt. hab ich mich unverständlich ausgedrückt , also ich möchte, dass der Ball sich nicht aus dem Bildschirm bewegt also am Rand stoppt. Dafür hab ich diesen Code der auch bisher gut funktioniert.
Quellcode
- - (void) touchesMoved:(NSSet*)touches withEvent:(UIEvent*)event
- {
- // Den aktuellen Ort bei bewegung ermitteln.
- CGPoint aktuelleMitte = [[touches anyObject] locationInView:self];
- // Den Punkt bestimmen an dem das Objekt bewegt wird.
- CGPoint neueMitte = CGPointMake(self.center.x + (aktuelleMitte.x - touchPunkt.x),
- self.center.y + (aktuelleMitte.y - touchPunkt.y));
- // Wir bleiben mit dem Objekt im Bildschirm.
- float screenMitteX = CGRectGetMidX(self.bounds);
- // wenn zu weit rechts ...
- if (neueMitte.x > self.superview.bounds.size.width - screenMitteX)
- neueMitte.x = self.superview.bounds.size.width - screenMitteX;
- // wenn zu weit links ...
- else if (neueMitte.x < screenMitteX)
- neueMitte.x = screenMitteX;
- float screenMitteY = CGRectGetMidY(self.bounds);
- // wenn zu weit unten ...
- if (neueMitte.y > self.superview.bounds.size.height - screenMitteY)
- neueMitte.y = self.superview.bounds.size.height - screenMitteY;
- // wenn zu weit oben ...
- else if (neueMitte.y < screenMitteY)
- neueMitte.y = screenMitteY;
- // Setzt Objekt neue Mitte.
- self.center = neueMitte;
Und dann möchte ich noch, dass wenn der Ball in die nähe des Loch´s kommt er wie ein Magnet von der Lochmitte angezogen wird und dort bleibt. Und da hänge ich im Moment.
Ich habe dafür versucht die CGRectIntersectsRect Methode einzusetzen aber da passiert leider rein garnichts und ich möchte gerne wissen wieso und wie ich das ans laufen kriege.