Я создаю игру с использованием Cocos2d-x. В настоящее время я создаю меню для гейвервера, в этом меню мне нужно иметь возможность переключаться на мое меню и на мои игры (когда я говорю «переключиться на gamescene», я просто имею в виду только «перезапустить» игру). Но круговые зависимости не позволяют мне это сделать.
MenuScene должен быть в состоянии использовать GameScene::create()
для того, чтобы перейти к gamescene и меню GameOver должен быть в состоянии использовать оба GameScene::create() or its restart funtion
и MenuScene::create()
, который дает мне проблемы циклической зависимости
Я не могу отделить мое меню GameOver к это собственный файл, так как мне по-прежнему нужна зависимость GameScene, и GameScene потребует игры.
Я не могу объединить их как GameScene тогда нужно зависеть от MenuScene
Как чередовать две сцены в cocos2d-x?
Так что мой вопрос: Как я могу переключаться между двумя сценами в cocos2d-х C++.
Я где-то читал про толкание и попниг сцены в директории, но я действительно не понимаю, как это работает, или если бы я мог использовать это для своей цели.
Спасибо заранее!
EDIT:
Теперь, когда я думаю об этом, могу ли я не просто нажать mMenuScene на директора, прежде чем переключиться на GameScene? Это должно сработать, если я правильно понимаю, что механик толчок/поп.
Как это будет работать, если я хочу иметь возможность переключаться между Menu- и Game-scene? Вы имеете в виду, что я объединяю их в одну сцену/слой? (Теперь, когда я думаю об этом, это может быть не такая уж плохая идея). В противном случае у меня есть другой подход, который использует указатели функций, которые вы так любезно напомнили мне, существовали :) – Tritzium
По-моему, файлы сцены всегда должны быть отдельными файлами , Это было бы точно так же. Меню должно содержать файл заголовка к вам GameScene.h, поэтому и вы будете использовать тот же самый код, который я изложил выше, чтобы поменять место между сценой. Я не понимаю, почему это было бы иначе, чем Game-> GameOver. Если они все разделены, вы можете просто перейти к любой из них. Вы НЕ должны комбинировать свою сцену в одну. Это очень плохая идея в общем дизайне и общем развитии игры. Это затруднит обслуживание и исправления ошибок. –