很多兄弟在做unity开发的时候都会有这样的需求:在scene A进行一些选择操作,跳转到scene B,scene B中诸如一些初始化等操作需要scene A选择的一些参数。
unity基本没有提供关于场景间数据传递的方式,我采用的是使用单例来进行数据传递。常用的单例模型如下:
public class A
{
static A instance;
private A(){}
public static A getInstance()
{
if(instance==null)
instance=new A();
return instance;
}
}
通过对A类的构建,我们在代码的任何地方都可以方便的获取A的单例对象。我们把scene A中需要保存的数据作为A类的成员变量保存起来,这样就可以轻松的在scene B中获得。当然,具体问题具体分析,如果需要传递的对象比较复杂,肯定还需要在此基础上对数据进行一定程度的数据结构封装,比如定义个结构体、数组之类的。