所以基本上我想要做的是當我的遊戲玩家完成一個級別(例如級別1)時,它將場景切換回級別選擇場景,並交換級別的精靈圖片1到另一個(例如在其上有複選標記的)。我可以替換場景,但我不知道如何在新場景中更改精靈,特別是在完成關卡後場景發生變化時。所以我假設我會使用單身課程,對嗎?如果是這樣,我將如何去使用它?從不同的場景訪問CCSprite
回答
單身是可以的,不要害怕使用它們。 cocos2d的許多組件都是單例。
我認爲你需要的是某種結構來跟蹤遊戲的狀態。 (完成多少個等級/下一個等級應該等等)。當你的關卡選擇場景被加載時,它應該查看'遊戲狀態'對象(無論是單身,plist等)並相應顯示。
我會遠離將信息直接從一個場景傳遞到另一個場景,這使得重新排序他們後頭痛。
謝謝!非常有用的建議。 – user2499470
首先,讓我確保正確理解問題。
- 你有一個場景(A)和一個精靈。
- 您轉換到另一場景(B)進行遊戲。
- 遊戲結束,您轉換回場景A.
- 當場景A重新顯示時,您想要更改精靈顯示的圖像。
如果我有這個權利,那麼無論單身人士是好還是不好,你都不需要這樣做。
如果和我一樣,您已經使用CCSpriteFrameCache中的顯示框創建了精靈,那麼您可以簡單地在「A」重新顯示時更改要使用該精靈的框架。
一些示例代碼演示此可以看出另一個問題:
How to switch the image of a CCSprite
(當然,如果我有這個權利,然後隨意只是欺騙這個)
這是正確的,但我只想在關卡完成的情況下更改精靈。我也有一個後退按鈕返回到相同的場景,以便可能有問題 – user2499470
這應該不成問題。我通常在這種情況下做的事情是在轉換回A之前設置一個由場景B調用的委託。該調用告知A需要知道的任何事情,以便它可以進行需要的任何更改。後退按鈕可以調用一個委託消息,而「完成」事件可以調用另一個。或者,他們可以調用同一個並傳遞一個狀態作爲參數。 – PKCLsoft
- 1. Unity:從不同場景訪問UI InputField
- 2. 上一個場景的UIButton重疊CCSprite
- 3. 從任何地方訪問場景
- 4. AS3:如何在不同場景中訪問動畫片段?
- 5. Rspec:我如何訪問該場景中標記的場景?
- 6. 在不同的場景
- 7. 從NSMutableArray訪問CCSprite屬性x和y
- 8. 共享不同場景的兩個場景將不會延續
- 9. Three.js - 訪問場景中的子對象
- 10. IValidatableObject驗證()不同場景
- 11. OpenGL ES 2D場景,不同元素的多場景圖樹
- 12. Three.js按名稱訪問場景
- 13. 訪問幾何子節點場景包
- 14. javaFX無法訪問場景元素
- 15. Cocos2d訪問場景屬性和方法
- 16. 如何從場景子類訪問QGraphicsItem的信號
- 17. swift:從控制器訪問正在使用的場景變量
- 18. 從SpriteKit中的其他課程或場景中訪問var
- 19. 如何從JNI訪問當前場景中的cocos2d-x精靈?
- 20. 主從場景,細節的場景不會正確加載
- 21. Yii:檢查不同場景的規則
- 22. 分佈式處理的不同場景
- 23. 不同畫布上的多個場景
- 24. 不同的模型驗證場景
- 25. 從場景
- 26. 如何從黃瓜場景中訪問初始化器常量?
- 27. 如何從在cocos2d多個場景訪問一個伊娃?
- 28. 訪問popupWindow從不同空
- 29. Flash場景問題
- 30. AppDelegate從不同的類訪問,從RootController.m
沒有,你不會使用單身人士,你會測試看看你是否用Cocos2d的持續信息幫助完成了關卡。 –
你有試過什麼嗎?如果是這樣,展示它!在許多情況下,單身人士並不是你最好的朋友。有了你所問的問題,我懷疑你可以認識到他們什麼時候會不合適。在這種情況下,我懷疑這將是一個好策略。 – YvesLeBorg