Супер инициалы Спрайты не соответствуют позиции - PullRequest
0 голосов
/ 19 февраля 2012

очень быстрый вопрос здесь.Кажется, у супер инициатора есть свой собственный способ закрепления вещей вокруг.Вот пример.Ниже у меня есть супер инициализация с рамкой спрайта "image1", и у меня есть "image2" в рамках init.Проблема в том, что эти 2 изображения не будут перекрывать друг друга, как вы думали, похоже, что точка привязки init 'image1' равна 0,0 и 0,5,0,5 для «image2», поэтому нижний левый край «image1"будет переполнен центром" image2 ".

-(id) initWithSpriteImage
{
    if ((self = [super initWithSpriteFrameName:@"image1.png"]))
    {

        CCSprite *image2=[CCSprite spriteWithSpriteFrameName:@"image2.png"];
    }
    return self;

}

есть идеи, как решить эту проблему, кроме удаления спрайта инициализации?

1 Ответ

2 голосов
/ 20 февраля 2012

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

В результате получается, что дочерние узлы центрированы не в anchorPoint их родителя, а в источнике (0,0)родительская текстура.Таким образом, каждый ребенок центрируется в нижнем левом углу своего родителя, если родитель не является невизуальным узлом, таким как CCScene, CCLayer или CCNode.

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