У меня есть следующие:Каков наилучший подход, чтобы добавить существующие спрайты как ребенок спрайта
- Фоновый спрайт называется «_background»
- 3 х спрайтов «C4», D5" и „Hj“
Три спрайта добавляются отдельно на задний план. Затем я с двойным щелчком хочу перетащить их все в другое место на другое место на экране, пока они остаются в том же порядке и
Единственный способ, который я получил его, почти, чтобы работать с этим кодом:
- (void)tap2TouchesGesture:(UITapGestureRecognizer *)sender {
SKNode *removeNode = [_background childNodeWithName:@"C4"];
CGPoint aPos = removeNode.position;
[removeNode removeFromParent];
SKSpriteNode *topNode = [SKSpriteNode spriteNodeWithImageNamed:@"C4"];
topNode.position = aPos;
topNode.zPosition = 100;
topNode.name = @"C4";
[_background addChild:topNode];
removeNode = [_background childNodeWithName:@"D5"];
[removeNode removeFromParent];
SKSpriteNode *vv = [SKSpriteNode spriteNodeWithImageNamed:@"D5"];
vv.position = CGPointMake(-10, -10);
vv.zPosition = -10;
vv.userInteractionEnabled = NO; // just testing
vv.name = @"D5";
[topNode addChild:vv];
removeNode = [_background childNodeWithName:@"Hj"];
[removeNode removeFromParent];
vv = [SKSpriteNode spriteNodeWithImageNamed:@"Hj"];
vv.position = CGPointMake(-20, -20);
vv.zPosition = -50;
vv.userInteractionEnabled = NO; // just testing
vv.name = @"Hj";
[topNode addChild:vv];
}
После обработки выше кода я могу переместить пакет спрайтов, но текущую проблему в том, что родитель, C4, делать похоже, не на вершине. Единственный способ выбора C4 - щелкнуть на части, которая находится за пределами любого другого спрайта, а не на _background.
Я бы предположил, что это не лучший подход к выполнению этого, поэтому я хотел бы попросить о том, как это сделать правильно. Кроме того, поэтому я могу выбрать C4, щелкнув весь спрайт.
Я знаю это, но я не хочу использовать Cocos2D, поскольку я использую и изучаю SpriteKit, а затем преобразую все его в KoboldKit вперёд. – PeterK
жаль, что я хотел сказать SKNode не CCNode. Независимо от того, что принцип тот же. – LearnCocos2D
Я знаю это, и ты дал мне этот ответ раньше, но я просто не могу заставить его нормально работать, добавляя контейнер SKNode. Не могли бы вы показать мне в коде правильный путь? – PeterK