Как я могу активировать CCMenuItem и переместить CCSprite одним касанием

Blockquote

у меня есть CCMenuItem Кнопка, которую я хотел бы иметь возможность нажать вниз, тогда, пока она еще нажата, создаст новый CCSprite это можно утащить, все еще используя ту же прессу. В основном вы нажимаете кнопку вниз и перетаскиваете новый спрайт, который вы можете перемещать по экрану.

Я уже подкласс CCMenuItemImage создать новый спрайт при нажатии, но новый спрайт не обнаружит никакого прикосновения, не подняв и не начав новое прикосновение. Могу ли я получить этот спрайт, чтобы увидеть или использовать свое существующее прикосновение от нажатия кнопки, чтобы позволить мне утащить его, не поднимая палец?

Любые мысли будут с благодарностью.

Мой подкласс CCMenuItemImage который работает нормально для справки:

@interface CCMenuItemImageAdvanced : CCMenuItemImage {    
}

-(void) selected;
-(void) unselected;

@end

@implementation CCMenuItemImageAdvanced

-(void) selected {
[super selected];

// Method that creates the ccsprite
[_sharedGameHud createSprite:self];
}

-(void) unselected {
[super unselected];
}

@end

2 ответа

Решение

Смотреть в

[CCMenu ccTouchBegan:(UITouch *)touch withEvent:(UIEvent *)event]

Вы могли бы подкласс CCMenu и вместо вызова

[selectedItem_ selected];

в приведенном выше методе вы можете создать новый метод в CCMenuItemImageAdvanced

- (void)selectedWithTouch:(UITouch*)touch;

затем используйте это прикосновение, чтобы переместить спрайт.

Возможно, вы могли бы создать CCSprite, скрытый при загрузке и проверенный при перемещении, проверить, виден ли CCSprite и следит ли он за ним. CCButton просто нужно будет показать CCSprite, делая его доступным для перемещения.

Другие вопросы по тегам