Hi,
ich häng jetzt schon etwas länger an einem Problem, ich möchte das ein Bild (Ball) von einem anderen Bild (Loch) wie ein Magnet angezogen wird. So den Code hab ich dafür auch schon so gut wie fertig, nur funktioniert er nicht so wie ich es mir erhofft habe
Auch eingebaut habe ich, dass der Ball nur bis zum Bildschirmrand bewegt werden kann.
Hier mein Code:
Alles anzeigen
Wenn ich den Ball in den gewünschten Bereich bewege passiert nichts, sobald ich dann aber (wenn der Ball im gewünschten Bereich ist) auf das Loch drücke und bewege, schnappt der Ball in das Loch wie gewünscht ein
Ich komm einfach nicht drauf wo mein Fehler liegt wäre echt nett wenn mir jemand die Augen öffnen könnte
MfG Richi
ich häng jetzt schon etwas länger an einem Problem, ich möchte das ein Bild (Ball) von einem anderen Bild (Loch) wie ein Magnet angezogen wird. So den Code hab ich dafür auch schon so gut wie fertig, nur funktioniert er nicht so wie ich es mir erhofft habe
Auch eingebaut habe ich, dass der Ball nur bis zum Bildschirmrand bewegt werden kann.
Hier mein Code:
Quellcode
- - (void) touchesMoved:(NSSet*)touches withEvent:(UIEvent*)event
- {
- CGPoint aktuelleMitte = [[touches anyObject] locationInView:self];
- CGPoint neueMitte = CGPointMake(self.center.x + (aktuelleMitte.x - touchPunkt.x),
- self.center.y + (aktuelleMitte.y - touchPunkt.y));
- float screenMitteX = CGRectGetMidX(self.bounds);
- if (neueMitte.x > self.superview.bounds.size.width - screenMitteX)
- neueMitte.x = self.superview.bounds.size.width - screenMitteX;
- else if (neueMitte.x < screenMitteX)
- neueMitte.x = screenMitteX;
- float screenMitteY = CGRectGetMidY(self.bounds);
- if (neueMitte.y > self.superview.bounds.size.height - screenMitteY)
- neueMitte.y = self.superview.bounds.size.height - screenMitteY;
- else if (neueMitte.y < screenMitteY)
- neueMitte.y = screenMitteY;
- self.center = neueMitte;
- self.highlighted = YES;
- CGRect lochKlein = CGRectInset(loch.frame, +10.0, +10.0);
- if (CGRectIntersectsRect (ball.frame, lochKlein )) {
- [UIView animateWithDuration:0.1
- animations:^{ lernenPlaettchen.center = lernenLoch.center; }];
- }
- }
Wenn ich den Ball in den gewünschten Bereich bewege passiert nichts, sobald ich dann aber (wenn der Ball im gewünschten Bereich ist) auf das Loch drücke und bewege, schnappt der Ball in das Loch wie gewünscht ein
Ich komm einfach nicht drauf wo mein Fehler liegt wäre echt nett wenn mir jemand die Augen öffnen könnte
MfG Richi