Because the cocos coordinate system is "upside down" compared to the iPhone screen coordinate system, you need to do:
- (void) ccTouchesBegan:(NSSet *)touches withEvent:(UIEvent *) event
{
UITouch *touch = [touches anyObject];
CGPoint point = [touch locationInView: [touch view]];
CGPoint touchCorrected;
touchCorrected.x = point.x;
touchCorrected.y = 480 - point.y;
}
If however your sprite is part of a hierarchy or stack of sprites, you need to convert the (corrected) touch coordinates into the sprites local coordinates using CCNodes convertToNodeSpace
method.