簡體   English   中英

如何根據Sprite Kit中的設備更改屏幕尺寸?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM