Sprite n'est pas positionné correctement

Je travaille sur un jeu (test) pour apprendre SpriteKit en essayant de faire mon propre jeu de cartes.

Je crée une barre latérale qui devrait être déplacée par SKAction, l'animation elle-même travaille. J'ai créé une barre noire dans les bonnes tailles pour iPhone et iPad, appelée "backmenu ~ iphone.png" (50p) et "backmenu ~ ipad.png" (100p).

Le problème que j'ai est que je suis capable de positionner la barre noire correctement sur l'iPhone mais pas sur l'iPad, il est positionné à bas, et je ne peux pas comprendre ce que je fais mal. Je place les anchorPoints et place les sprites sur les mêmes coordonnées. Les sprites sont les tailles correctes.

Le code:

SKSpriteNode *menuOnMainScreen = [SKSpriteNode spriteNodeWithImageNamed:@"backmenu"];
        menuOnMainScreen.anchorPoint = CGPointMake(0.0, 0.1);
        menuOnMainScreen.position = CGPointMake(_menuPositionOutsideOfScreen, 0);
        menuOnMainScreen.name = @"backmenu";
        menuOnMainScreen.zPosition = 1000;
        [self addChild:menuOnMainScreen];

        SKAction *moveMenuIntoScreen = [SKAction moveTo:CGPointMake(0, 0) duration:0.3];
        [menuOnMainScreen runAction:moveMenuIntoScreen];

        SKSpriteNode *arrowLeft =  [SKSpriteNode spriteNodeWithImageNamed:@"arrow_left"];
        arrowLeft.anchorPoint = CGPointMake(0.5, 0.5);
        arrowLeft.position = CGPointMake(_setWidthPositionInSideMenuCoordinate, CGRectGetMaxY(self.frame) * 0.95);
        [menuOnMainScreen addChild:arrowLeft]; 

Les paramètres suivants sont utilisés:

_menuPositionOutsideOfScreen = -50 sur l'iPhone

     

_menuPositionOutsideOfScreen = -100 sur iPad

Quand je lance le code, il ressemble à ceci: iPhone à gauche et iPad à droite:

iPhone enter image description here

0

2 Réponses

Je crois que le problème est que votre code anchorPoint est y 0.1

Ne devrait-il pas être:

menuOnMainScreen.anchorPoint = CGPointMake(0,0);
0
ajouté

Que faire si vous créez points d'ancrage 0,5, 0,5 et les positionne self.size.height/2 dans la direction y, et _menuPositionOutsideOfScreen dans la direction x ?

C'est un peu difficile à tester sans plus de code, mais essayez-le

0
ajouté