Il mio primo attacco a questo problema potrebbe essere il seguente:
(1) sottoclasse UIImageView di tenere ogni pezzo del puzzle.
(2) Personalizzate la sottoclasse UIImageView inizializzandola con UIPanGestureRecognizer. Qualcosa di simile:
self.panRecognizer =
[[UIPanGestureRecognizer alloc]
initWithTarget: self
action: @selector(handlePan:)];
[self addGestureRecognizer:
self.panRecognizer];
(3) Nel metodo azione associata con il sistema di riconoscimento gesto pan, aggiornare la posizione dell'oggetto in base ai messaggi provenienti da del pezzo di puzzle riconoscitore gesto padella. Qualcosa come il seguente dovrebbe funzionare:
-(void) handlePan:
(UIGestureRecognizer *)sender
{
UIPanGestureRecognizer *panRecognizer =
(UIPanGestureRecognizer *)sender;
if (panRecognizer.state ==
UIGestureRecognizerStateBegan ||
panRecognizer.state ==
UIGestureRecognizerStateChanged)
{
CGPoint currentPoint =
self.center;
CGPoint translation =
[panRecognizer translationInView:
self.superView];
self.center = CGPointMake
(currentPoint.x + translation.x,
currentPoint.y + translation.y);
[panRecognizer setTranslation: CGPointZero
inView: self.superView];
}
}
fonte
2011-12-05 18:39:38
Sto pensando questo è qualcosa di più adatto per una libreria come cocos2d, non UIKit. –
@RichardJ.RossIII: Puoi darmi maggiori dettagli su coocs2d? o link? – iPhone
http://cocos2d-iphone.org –