у меня есть два CCSprite на сцене
CCSprite * spriteA;
CCSprite * spriteB;
Положение spriteB фиксировано, а положение spriteA - нет. Я касаюсь spriteA, и его можно перемещать только по прямой линии, только в четырех направлениях «вверх / вниз / влево / вправо» , не косая черта, а также это может быть перемещено, пока spriteB не остановит это. такие как я (spriteA) могут продолжать работать, пока стена (spriteB) передо мной не остановит меня.
я использую следующий код
- (BOOL)ccTouchBegan:(UITouch *)touch withEvent:(UIEvent *)event {
return YES;}
- (void)ccTouchEnded:(UITouch *)touch withEvent:(UIEvent *)event {
CGPoint location = [touch locationInView: [touch view]];
CGPoint convertedLocation = [[CCDirector sharedDirector] convertToGL:location];
[spriteA stopAllActions];
[spriteA runAction: [CCMoveTo actionWithDuration:1 position:convertedLocation]];
}
его можно перемещать, но не только в четырех направлениях, и как я могу использовать spriteB, остановить spriteA, если spriteB находится впереди spriteA?
спасибо