尋找在場景之間過渡的模式,將對象的一個實例移動到下一個場景,然後將其返回到前一個場景,但不會破壞先前場景中的其他對象。這裏是上下文:用於在場景之間移動某些對象的統一模式?
- 當我的遊戲加載時,它連接到我的服務器以獲取玩家可以控制的字符列表並從預製動態實例化它們。
- 加載腳本將每個角色遊戲對象移動到主場景,然後加載該場景。
- 主場景現在有可以與之交互的角色。到現在爲止還挺好。其中一個命令是選擇一個特定的角色並將它們發送到一個任務上,該任務有自己的任務場景。
- 我可以將該角色移動到任務場景並在任務完成時將其移回。然而,其他不在任務中並且不應該在任務場景中的角色現在被銷燬,因爲主場景被卸載。
我正在尋找一種模式來實現這一點。我讀過的大部分建議使用DontDestroyOnLoad,但實際上這會將所有角色移動到所有場景中,導致任務場景中的角色太多。另一種選擇可能是創建一個包含所有角色信息的遊戲對象,在場景之間傳遞並在每個場景中都有邏輯來重新實例化該場景中的適當角色。這感覺就像是一個很大的開銷,因爲我沒有其他理由不斷地重新擦除它們。也許第三種選擇是重構我的遊戲,以便任務場景只添加到主場景中,並顯示爲某種疊加塊,用於阻止/捕獲輸入。這聽起來很混亂,可能會有性能問題(針對Android)。
有沒有人有這樣的好模式?
你需要每個字符的多個實例?靜態聲明可以做到這一點,只要你不需要2個「弓箭手」或其他任何東西。 – Aaron
是的,我需要多個角色,這就是爲什麼我有這個問題 - 移動一個角色相對簡單。每個角色都是探險家。你,玩家可以僱用他們(導致不止一個),你可以發送他們的冒險。只有一名探險者可以參加每次冒險,而其他探險者需要留在主場景中,而不是冒險。 –
靜態列表應該可以工作。在創建它們時,將它們添加到列表中。 –
Aaron