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