我知道你可以使用if语句选择ipad或iphone UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad.但我想知道你是否可以为iPhone 3.5英寸屏幕和iPhone 4英寸屏幕做同样的事情.我有一款最初设计用于iPhone 4英寸屏幕的游戏,但是自动布局已用于修复两个设备之间的错误,我需要改变的一件事就是当
if (ball.center.y > 600) {
RandomPosition = arc4random() %248;
RandomPosition = RandomPosition + 36;
ball.center = CGPointMake(RandomPosition, -22);
}
Run Code Online (Sandbox Code Playgroud)
因为它最初是在4英寸屏幕上设计的,所以游戏设置为当它大于600像素时将球重置到屏幕顶部,这正好在iphone 4英寸屏幕下方.它仍能正常工作,3.5英寸屏幕底部和位置重置之间只有一点延迟.无论如何我可以设置一个if语句UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiom(iphone4???)来设置一个新的ball.center.y> 300或者什么?
我完全迷失了,我发现的所有教程都是针对带有Storyboard的iOS 6应用程序.我的问题是你是否可以在sprite-kit游戏中拥有推特或Facebook共享功能?如果是这样,添加它的最佳方法是什么?我读过的很多教程都使用了viewcontrollers,但sprite-kit使用了场景,所以我有点困惑.
谢谢.
我正在尝试检查这个SKSpriteNode是否已从屏幕中移除以实现一段代码(如果有)但我似乎无法弄明白.
我的代码;
if (player.position.y > self.frame.size.height) {
NSLog(@"out of frame");
[self runAction:[SKAction sequence:@[
[SKAction waitForDuration:0.5],
[SKAction runBlock:^{
levelMenu *mainMenu = [[levelMenu alloc] initWithSize:self.size];
[self.view presentScene:mainMenu transition:[SKTransition fadeWithDuration:0.6]];
}],
]]];
}
Run Code Online (Sandbox Code Playgroud)
但这不起作用.
有什么我可以做的来测试从父母那里删除它的时间.即" If (player hasLeftScene)或(player hasBeenRemovedFromParent)"之类的东西?
我也试过测试播放器.position.y> 568(4英寸显示器),但它也不起作用.
我正在创建一个iOS游戏,我认为我已经完成,直到我在iPad Retina模拟器上测试它,并且它极其滞后.这是一个模拟器故障,还是它在Retina iPad上实际上不起作用?我试着查看是否有必要,但找不到确切的答案.