我正在研究(测试)游戏,以学习SpriteKit尝试制作自己的纸牌游戏。
我正在创建一个应该由SKAction移出的侧栏,它自动运行的动画。我为iPhone和iPad创建了一个正确尺寸的黑色条,称为“backmenu~iphone.png”(50p)和“backmenu~ipo.png”(100p)。
我遇到的问题是我能够正确地将黑色条放在iPhone上,但不能放在iPad上,它定位于低位,我无法弄清楚我做错了什么。我设置了anchorPoints并将精灵放在相同的坐标上。精灵的大小正确。
代码:
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];
使用以下参数:
iPhone上的_menuPositionOutsideOfScreen = -50
iPad上的_menuPositionOutsideOfScreen = -100
当我运行代码时,它看起来如下,左边的iPhone和右边的iPad:
答案 0 :(得分:0)
我认为问题是你anchorPoint
的y是0.1
不应该是:
menuOnMainScreen.anchorPoint = CGPointMake(0,0);
答案 1 :(得分:0)
如果你使 anchorpoints 0.5,0.5并在y方向上将它们置于 self.size.height / 2 ,并且 _menuPositionOutsideOfScreen ,该怎么办? x方向?
在没有更多代码的情况下测试它有点困难,但尝试一下