我知道这是字符串和数字存储与共享对象一件简单的事,我也熟悉了这样的事情:SharedObject支持哪些数据类型?
var sharedObject:SharedObject = SharedObject.getLocal("userData");
var obj:Object = new Object();
obj.prop = "value";
sharedObject.data.userobj= obj;
sharedObject.flush();
不过,我试图存储类GameStage的对象,我已经定义了一个类来保存我游戏中的阶段数据。这种类型的事情似乎并不奏效:
var sharedObject:SharedObject = SharedObject.getLocal("userData");
var stageOne:GameStage = new GameStage();
stageOne.highScore = 99999;
sharedObject.data.stageOne = stageOne;
sharedObject.flush();
此代码不抛出一个错误,但是当我尝试以后检索阶段的数据,例如:
stageOne = sharedObject.data.stageOne;
我得到这个错误:
TypeError: Error #1034: Type Coercion failed: cannot convert [email protected] to GameStage.
我想我的问题是:什么样的数据类型可以存储在一个SharedObject?我在网上看到的所有地方都回答了“闪存中可以使用的任何内容”这个问题,这个描述不是很明确 - 显然我的GameStage类也在Flash中工作。有没有关于从我不知道的SharedObject中检索数据的问题?
我的预测是我无法以这种方式存储舞台数据。如果是这样,任何人都可以提出另一种保存数据的方法吗?