[英]How to change screen size based on device in Sprite Kit?
我注意到以前沒有的問題 - 在iPhone 5及相關設備上,我的游戲在頂部和底部顯示黑色區域。
我使用它的標准代碼,它表明即使在大型設備上skView.bounds.size也是320x480。
- (void)viewWillLayoutSubviews
{
[super viewWillLayoutSubviews];
SKView * skView = (SKView *)self.view;
skView.showsFPS = YES;
skView.showsNodeCount = YES;
//skView.showsPhysics = YES;
if (!skView.scene) {
NSLog(@"size: %@", NSStringFromCGSize(self.view.frame.size));
SKScene * scene = [MainMenuScene sceneWithSize:skView.bounds.size]; //[MyScene sceneWithSize:skView.bounds.size];
scene.scaleMode = SKSceneScaleModeAspectFill;
[skView presentScene:scene];
}
}
編輯:它正確地確定iPad尺寸。
EDIT2:改變場景大小不會增加其高度。 我嘗試手動設置為320,568沒有用。
EDIT3:它在默認的Xcode項目中顯示相同的黑色條紋。 這里有點不對勁。
這是一個截圖:
不知何故,Xcode沒有為項目提供默認啟動圖像。 在我添加了啟動圖像之后,它開始工作了。
在https://developer.apple.com/library/ios/releasenotes/General/WhatsNewIniOS/Articles/iOS8.html中 ,文檔說'要讓系統知道您的應用支持iPhone 6屏幕大小,請包含故事板啟動應用程序包中的屏幕文件。 在運行時,系統會查找故事板啟動屏幕文件。 如果存在此類文件,系統會假定您的應用程序明確支持iPhone 6和6 Plus,並以全屏模式運行。 如果沒有這樣的圖像,系統會報告較小的屏幕尺寸(320×480點或320×568點),以便您的應用程序的基於屏幕的計算繼續正確。 然后縮放內容以適應更大的屏幕。'
我解決了選擇'Project' - >'App Icons and Launch Images' - >'Launch Image source'然后讓Xcode生成文件。 也可以從舊項目中復制此文件。 (在Xcode 5.1.1或之前制作的項目)。
在xCode 6中為iOS 8+創建項目然后嘗試在iOS 7或更低版本上執行應用程序時也會發生這種情況。
要更改場景的視圖大小,您可以執行此操作
SKView * skView = (SKView *)self.view;
CGSize viewSize = self.view.bounds.size;
viewSize.height *= 2;
viewSize.width *= 2;
SKScene * scene = [MainMenuScene sceneWithSize:viewSize];
scene.scaleMode = SKSceneScaleModeAspectFill;
場景viewSize將在這里縮放2。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.