【发布时间】:2015-05-11 07:34:37
【问题描述】:
我有一款 iPhone 游戏,最初是为 iPhone 6 开发的,在 iPhone 5 sim 上玩时效果很好,但在 iPhone 4 sim 上玩时,两边都被拉长了?!?我从左侧和右侧生成的节点在屏幕上生成,而不是像在 iPhone 6 和 5 上那样在屏幕外生成。 (请不要说这是重复的,因为我一直在寻找如何处理不同 iPhone 的几个星期)
我在 y 轴上随机生成左右方向的箭头。它们在屏幕外生成,然后在屏幕上缓慢移动,而不是在屏幕上快速移动,但在 iPhone 4 上,箭头会在屏幕上生成。这是其中一个箭头的代码
-(void) leftArrow
{
int randomY = arc4random() % (675 - 175);
int yPoint = randomY + 175;
leftArrow = [SKSpriteNode spriteNodeWithImageNamed:@"arrow"];
leftArrow.size = CGSizeMake(leftArrow.size.width/1.2, self.frame.size.height/22);
leftArrow.position = CGPointMake(CGRectGetMidX(self.frame) - 230, yPoint);
leftArrow.zPosition = 50;
leftArrow.alpha = 1;
SKAction* action1 = [SKAction moveToX:leftArrow.position.x + 30 duration:0.5];
SKAction* wait = [SKAction waitForDuration:0.75];
SKAction* action2 = [SKAction moveToX:leftArrow.position.x + 470 duration:1.5];
SKAction* sequence = [SKAction sequence:@[action1,wait,action2,destroy]];
[self addChild:leftArrow];
if (deadDown == 1 || deadUp == 1 || didIntersect == true)
{
[leftArrow runAction:destroy];
}
else
{
[leftArrow runAction:sequence completion:^{
if (ii != 1)
{
if (didIntersect != true)
{
score++;
if (score == 100)
{
backgroundScore.fontSize = 300;
backgroundScore.position = CGPointMake(backgroundScore.position.x, backgroundScore.position.y + 30);
}
strFromInt = [NSString stringWithFormat:@"%d",score];
backgroundScore.text = strFromInt;
}
}
}];
}
}
我也在 didmovetoview 函数中使用它
self.scaleMode = SKSceneScaleModeAspectFill;
【问题讨论】:
-
能否提供 iPhone 4 和 iPhone 5 的屏幕截图?所以,我可以看到可能导致拉伸的原因。您是否使用过自动布局来管理不同的屏幕尺寸?
-
我愿意,但我的名声太低了
标签: ios objective-c iphone sprite-kit