Mi primer ataque contra este problema sería la siguiente:
(1) UIImageView subclase para sostener cada pieza del rompecabezas.
(2) Personaliza tu subclase UIImageView inicializando con un UIPanGestureRecognizer. Algo así como:
self.panRecognizer =
[[UIPanGestureRecognizer alloc]
initWithTarget: self
action: @selector(handlePan:)];
[self addGestureRecognizer:
self.panRecognizer];
(3) En el método de acción asociada con el reconocedor gesto sartén, actualizar la ubicación del objeto en función de los mensajes de la pieza del rompecabezas reconocedor gesto sartén. Algo parecido a lo siguiente se debe trabajar;
-(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];
}
}
Estoy pensando que esto es algo más adecuado para una biblioteca como cocos2d, no UIKit. –
@RichardJ.RossIII: ¿Me puede dar más detalles para coocs2d? o enlace? – iPhone
http://cocos2d-iphone.org –