Добавить дочерний слой в другой класс Cocos2d? - PullRequest
0 голосов
/ 21 мая 2011

Я создаю игру.Я был успешным с более чем одним слоем на одной сцене, но я хочу, чтобы было обнаружение столкновений.И самый простой способ сделать это - иметь ОДИН слой.Я не знаю, как добавить ребенка в слой из другого класса.ПОМОГИТЕ!

Ответы [ 2 ]

4 голосов
/ 21 мая 2011

Вы можете передать слой, в который хотите добавить ребенка, в функцию.Как это:

Это в вашем классе:

 -(void)makeChild:(CCLayer*)layer {

 CCSprite *sprite =..**** //Create sprite

 [layer addChild:sprite];

 }

Это в основном слое:

-(void)init {

[classInstance makeChild:self];

}

Надеюсь, что поможет ..

0 голосов
/ 21 мая 2011

, если вы хотите добавить какой-нибудь экземпляр CCSprite в качестве дочернего элемента двух разных слоев, это невозможно, поскольку cocos2d всегда проверяет, не добавлен ли объект, который вы добавляете как дочерний, к другому объекту. но если ваша проблема заключается в обнаружении столкновений между некоторыми спрайтами, им не нужно, чтобы они были дочерними по отношению к одному и тому же объекту, вы можете рассчитать абсолютную позицию каждого из них (я думаю, [sprite boundingbox] делает это), а затем проверить, сталкиваются ли эти два, вы можете использовать box2d или chipmunk для проверки ваших

...