мой код:
-(void) ccTouchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
{
//Add a new body/atlas sprite at the touched location
for( UITouch *touch in touches ) {
CGPoint touchLocation = [touch locationInView: [touch view]];
CGPoint prevLocation = [touch previousLocationInView: [touch view]];
touchLocation = [[CCDirector sharedDirector] convertToGL: touchLocation];
prevLocation = [[CCDirector sharedDirector] convertToGL: prevLocation];
CGPoint diff = ccpSub(touchLocation,prevLocation);
[self setPosition: ccpAdd(self.position, diff)];
}
}
Этот код позволяет мне перемещать слой пальцами. Это отлично работает. Но теперь я хочу позволить пользователю только перемещать слой в пределах предопределенного CGRect. Как это сделать?
Например:
CGRect rect = CGRectMake(0,0,600,320);
Теперь игроку разрешено только перемещать слой внутри этого прямоугольника. В этом примере он мог только переместить его (касанием iPod) влево и вправо. (до 600 пикселей).
Что мне нужно изменить, чтобы достичь этого?
Спасибо за любую помощь.
Хорошего дня:)