2017-10-17 203 views
2

如何在進行下一個任務之前完全等待屏幕更改方向?如何在Unity中更改場景之前完全等待方向更改

IEnumerator ChangeOrientation() 
{ 
    Screen.orientation = ScreenOrientation.LandscapeLeft; 

    // Fix background not completely rotate on unpacking story 
    yield return Timing.WaitUntilTrue(() => Screen.orientation == ScreenOrientation.LandscapeLeft); 

    bool unpack = storyData.sceneBundleName.Length > 0; //If we have loaded a scene bundle 
    StoryManager.Instance.StartStory(this, unpack); 
} 

回答

3

我從來沒有嘗試過,但 - 閱讀在forum - 似乎OnRectTransformDimensionsChange()做的伎倆。

Here(短)文檔。

+0

我聽說過它,但這是否意味着我需要在我的gameObject上添加RectTransform組件?因爲我的正常變換 –

+1

似乎是這樣。順便說一句,你可以創建一個「實用工具」對象,並附加一個RectTransform對象。此時,請將偵聽器設置爲該偵聽器。我認爲這可能值得一試,你同意嗎? –

+1

當然不能同意更多,剛纔我使用臨時修復,只是把WaitForSeconds(0.3f),至少沒有圖形故障。所以現在我會先堅持下去。過一段時間後會試試。很棒@Andrea –