Easy2d 文档教程之场景 Scene
场景
代表游戏中的一个界面,你的游戏可以有类似主菜单、游戏界面、结束界面等多个场景。
创造场景
使用命令
auto scene = new Scene;
其中scene
可以改为你想要的场景名称
gcnew
:内存管理与垃圾回收,通过此命令可以将内存自动回收
SceneManager场景管理器
本章仅讲述enter
,back
,getSceneStack
,还有clear
SceneManager::enter
SceneManager::enter(scene);//假定我们进入的场景名叫做scene
以上代码可以让你的游戏进入一个scene
场景
函数原型:
static void enter(
Scene * scene, /* 下一个场景的指针 */
Transition * transition = nullptr, /* 场景切换动作 */
bool saveCurrentScene = true /* 是否保存当前场景 */
);
其可以定义切换动作,自动保存,
如果我们先上行代码执行,
那程序就默认将transition
设为nullptr
,将saveCurrentScene
设为true
初学者暂不考虑transition
和saveCurrentScene
SceneManager::back
SceneManager::back();
以上代码可以让你的游戏返回场景,类似于场景一层层叠加,通过此类来削减。
函数原型:
static void back(
Transition * transition = nullptr /* 场景切换动作 */
);
同SceneManager::enter
一样,不需要开发者自己去选择切换动作。
初学者暂不考虑
SceneManager::clear
SceneManager::clear();
清空所有场景,比较适合程序退出或者出现错误。
SceneManager::getCurrentStack
SceneManager::getCurrentStack();
此类建议配合STL模板库使用,因为它返回一个stack
类型,类似于Windows资源管理器浏览文件。
isTransitioning
是否正在进行转场动作,返回一个bool
类型
用法
SceneManager::isTransitioning();
原型:
static bool isTransitioning();
dispatch
分发事件,参数为Event
类型
用法
暂无
原型
static void dispatch(Event* evt);