как вы назначаете прикосновения к двум CCColorLayer? - PullRequest
1 голос
/ 09 марта 2012

Я создал два цветовых слоя и отобразил их на экране:

if( (self=[super init] )) {


        self.isTouchEnabled = YES;
        CGSize s = [[CCDirector sharedDirector] winSize];
        CCLayerColor* layer1 = [CCLayerColor layerWithColor: ccc4(255, 255, 0, 80)
                                                 width: 100 
                                                height: 300];
        layer1.position = ccp(s.width/3, s.height/2);
        layer1.isRelativeAnchorPoint = YES;
        [self addChild: layer1 z:1];

        CCLayerColor* layer2 = [CCLayerColor layerWithColor: ccc4(0, 0, 255, 255)
                                                 width: 100 
                                                height: 300];
        layer2.position = ccp((s.width/3)*2, s.height/2);
        layer2.isRelativeAnchorPoint = YES;
        [self addChild: layer2 z:1];

         }
       return self;

     }

Я хочу включить касания для каждого слоя, слоя 1 и слоя 2, например, если пользователь касается слоя 1 (что-то делает) и если вы касаетесь слоя 2 (что-то еще). я настроил диспетчер касания,

-(void) registerWithTouchDispatcher
{
    [[CCTouchDispatcher sharedDispatcher] addTargetedDelegate:self priority:No swallowsTouches:YES];
}

После этого я не знаю, что делать, я попытался найти документацию по cocos2d и ничего не смог найти, спасибо!

1 Ответ

1 голос
/ 09 марта 2012

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

Это также, как вы регистрируете отдельные спрайты с их собственными касаниями, если вы не хотите, чтобы слой управлял касаниями для всех его спрайтов.

При этом вы захотите установить разные приоритеты, чтобы наиболее важный слой имел возможность реагировать на прикосновение перед другим слоем, чтобы вы не обрабатывали одно и то же касание несколькими слоями.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...