对于SharedObjects来说非常新,但基本上我想做的就是让用户回答一次问题而不允许他们再次回答,怎么可能。这就是我在下面的内容?
/*if(_question.data.seenQuestion == "true") {
cookie_txt.text = "COOKIE FOUND";
} else {
cookie_txt.text = "NO COOKIES";
}*/
var _question:SharedObject;
_question.data.seenQuestion = "true";
_question.flush();
_question.close();
答案 0 :(得分:4)
你非常接近。看起来你并没有真正创建SharedObject
,为此你会使用方法getLocal
:
var _question:SharedObject = SharedObject.getLocal("questionData");
此外,由于SharedObject
支持原始类型(String
,int
,Number
,Object
,Boolean
等),因此您应该存储Boolean
而不是String
:
if(_question.data.seenQuestion)
{
cookie_txt.text = "COOKIE FOUND";
}
else
{
cookie_txt.text = "NO COOKIES";
}
_question.data.seenQuestion = true;
_question.flush();
最后,如果您使用的是本地共享对象(更常见),则无需致电close()
。
答案 1 :(得分:0)
您需要创建SharedOBject,否则您的代码将抛出错误:
var _question:SharedObject = SharedOBject.getLocal("myapp");
不需要刷新或关闭只是分配/更改一些数据,就是这样。
_question.data.seenQuestion = "true";
然而,SharedObject不是持久数据的好解决方案。用户可以删除/重置它等...