有时为了在场景间传递参数,象一些状态信息比如音乐的AudioID等,整理一下场景间参数传递的方式
方式一、使用全局变量
利用全局变量的方式对变量进行场景间的传递,简单且粗暴。可以定义一个类专门来存放需要传递的参数,在各场景类中只需要include一下就可以直接对全局变量进行访问和赋值。
示例如下:
新建一个全局变量的类:
头文件GlobalVar.h:
// GlobalVar.h
#ifndef __BabyLearnABC__GlobalVar__
#define __BabyLearnABC__GlobalVar__
#include <stdio.h>
extern int g_BgAudioID;
extern bool g_IfBgAudioReady;
extern bool g_IfReTurnToPortal;
#endif /* defined(__BabyLearnABC__GlobalVar__) */
#ifndef __BabyLearnABC__GlobalVar__
#define __BabyLearnABC__GlobalVar__
#include <stdio.h>
extern int g_BgAudioID;
extern bool g_IfBgAudioReady;
extern bool g_IfReTurnToPortal;
#endif /* defined(__BabyLearnABC__GlobalVar__) */
ccp文件是对全局变量进行初始化:
// GlobalVar.cpp
#include "GlobalVar.h"
int g_BgAudioID=999999;
bool g_IfBgAudioReady=false;
bool g_IfReTurnToPortal=false;
在场景文件中只需要#include GlobalVar.h就可以对全局变量进行操作了。
未完待续