2
我在cocos2d中製作遊戲。遊戲場景有一個菜單按鈕可以回到主菜單,這是一個UIViewController。當用戶選擇再次播放並且在導演中調用相同的遊戲場景時,在遊戲場景之上會出現粉紅色的屏幕。重新加載相同的cocos2d場景顯示粉色屏幕
這可能是因爲用自己替換相同的場景。所以,當主菜單被調用時,我首先用空的場景替換它。代碼替換場景是:
if ([[CCDirector sharedDirector] runningScene] == NULL) {
[[CCDirector sharedDirector] runWithScene: [MySceneLayer scene]];
}
else {
[[CCDirector sharedDirector] replaceScene:[MySceneLayer scene]];
}
它檢查,如果沒有場景運行則第一次啓動遊戲場景。如果某個場景已經在運行,在這種情況下是空場景,則將其替換爲遊戲場景。遊戲場景的釋放也被稱爲這意味着舊場景被正確銷燬。即使這樣,用遊戲場景替換空場景也會產生粉紅色的屏幕,而替換任何其他新場景都不會產生任何問題。
什麼是原因和解決方案?