2016-03-30 43 views
0

我實例化下面的gameObject,它包含一個模式爲「always animate」的動畫師,動畫持續340ms,之後我銷燬gameObject。統一畫布縮放隱藏在高分辨率顯示屏中的動畫

遊戲對象督察性質: enter image description here

我用下面的代碼就實例:

instancia = (Instantiate(cardAnimation, new Vector3(0, 0, 0), Quaternion.identity) as GameObject).GetComponent<Image>(); 
instancia.rectTransform.SetParent(transform); 
StartCoroutine(KillOnAnimationEnd()); 

這裏是協程:

private IEnumerator KillOnAnimationEnd() 
{ 
    yield return new WaitForSeconds(0.34f); 
    DestroyImmediate(instancia); 
} 

這裏是動畫的樣子時,在Unity(PC-Windows)中模擬: enter image description here

但是在我打開胸部後,它等待340毫秒沒有任何事情發生,然後顯示上述信息,這是否與plataform有關或是一些統一或可能是代碼相關的問題?

注意:我在另一個場景中還有另一個動畫,它只是一個已經在Hierarchy中實例化的gameObject,並且總是動畫並在Android上運行。

- EDIT-- 因此,我已經在仿真器中運行了最新版本的應用程序,幾乎與1080x480相似,動畫顯示就像個人電腦也運行在720p智能手機上一樣,唯一的問題我仍然使用Galaxy S6的QuadHD分辨率,其他一切只顯示動畫,我甚至試圖讓動畫運行時沒有任何腳本,因此它運行在一個循環中,但它不會顯示在銀河屏幕上。

鑑於有關這個問題的消息,我認爲這可能會改變一些答案的觀點,也許可以幫助別人在未來解決同樣的問題。

+0

您是否在爲Supercell工作? –

+0

不用哈哈,這實際上是我製作的胸部模擬器,只是爲了好玩。 –

+0

你確定你被允許使用他們的圖形嗎? –

回答

-1

我很肯定你的WaitForSeconds(0.34f)工作不正常,因爲在Java中沒有諸如yield這樣的關鍵字。我建議你使用invoke方法來調用你的方法來銷燬你的GameObject。

+0

啊,我真的希望這是原因,但只是嘗試過,它在PC上工作,但Android仍然是一樣的。 –

+0

您是使用帆布比例還是統一遙控?也許這只是與手機屏幕尺寸相關的東西 –

+0

Unity 5.0的Canvas Scale,我的手機是Quad HD(Galaxy S6) –

0

好的,找出問題所在,它在2D模式下使用Unity3D在動畫中「旋轉」,會報告它形成Unity,所以它是固定的。

解決方案:僅使用比例/位置動畫您的用戶界面,如果使用旋轉,則不會顯示在高分辨率顯示屏上。