Reputation: 1472
I know the - (BOOL)ccTouchBegan:(UITouch *)touch withEvent:(UIEvent *)
event method but was wondering how I constantly do something, such as move a sprite, while a finger is down?
Upvotes: 4
Views: 1427
Reputation: 5909
You could do it like Gajet or if your motion is constant you can schedule your actions. So assume you have this move method:
-(void)moveSprite:(ccTime) dt {
// move your sprite here by small increments
}
And then in ccTouchBegan:
method you mentioned, you schedule the move method [self schedule:@selector(moveSprite:)]
and in ccTouchEnded
you unschedule [self unschedule:@selector(moveSprite:)]
this will stop the motion when you end your touch... Hope this helps
Upvotes: 7
Reputation: 3411
you just have to set a boolean as true when ccTouchBegan
is called and when ccTouchEnd
is called set is as false, then when ccTouchMove
event is called you only have to check weather your flag is true or not.
Upvotes: 5
Reputation: 1754
Implement the appropriate UIGestureRecognizer subclass. You'll be sent either a begin or a changed or an ended event - and may act accordingly.
Upvotes: 2