Touch в данный момент движется - Cocos2d - PullRequest
0 голосов
/ 27 апреля 2011

Есть ли способ узнать, движется ли касание в данный момент?Если так, то может ли кто-нибудь привести меня в нужное место?

Ответы [ 2 ]

1 голос
/ 28 апреля 2011
- (void)ccTouchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {

    UITouch *touch = [touches anyObject];
    location = [touch locationInView:[touch view]];
    location = [[CCDirector sharedDirector] convertToGL:location];

    //Here urSprite is your CCSprite which you want to move
    CGRect urSpriteRect = CGRectMake([urSprite position].x - [urSprite contentSize].width/2, 
                          [urSprite position].y - [urSprite contentSize].height/2, 
                          [urSprite contentSize].height, [urSprite contentSize].width);

    if (CGRectContainsPoint(urSpriteRect, location)) 
    {
           checkFlag = TRUE;
           NSLog(@"You Touched the sprite!");
    }

}

- (void)ccTouchesMoved:(NSSet *)touches withEvent:(UIEvent *)event {

    if(checkFlag){

          urSprite.position = location;
          NSLog(@"You are moving your sprite!");
    }
}

- (void)ccTouchesEnded:(NSSet *)touches withEvent:(UIEvent *)event {

    checkFlag = FALSE;
    NSLog(@"Sprite stopped!");

}

1 голос
/ 27 апреля 2011

Если в вашем слое включены касания, вы можете реализовать следующий метод в вашем слое для обработки событий перемещения для касаний ...

-(void) ccTouchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...