![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Aug 2009
Сообщений: 134
|
Есть экземпляр gameData класса GameData, который содержит члены-переменные: level, score и пр.
//Записываю gameData в SharedObject экземпляр: var sharedObject:SharedObject = SharedObject.getLocal("profile"); sharedObject.data[“gameData”] = gameData; //Далее перезапускаю игру и обращаюсь: var sharedObject:SharedObject = SharedObject.getLocal("profile"); var gd: GameData = GameData (sharedObject.data.gameData); //компилятор выдает ошибку, что не может привести тип к GameData, т.к. возвращаемый объект типа данных Object. Если сделать так, то все ок: Почему, когда мы записывает экзепляр класса в SharedObject, то получаем на выходе тип Object, а не GameData ? Последний раз редактировалось udaaff; 17.04.2011 в 20:06. |
|
|||||
|
Все объекты записываемые в SharedObject сериализуются с помощью AMF. Со всеми вытекающими. Для корректной десериализации ваш класс должен реализовывать IExternalizable.
|
|
|||||
|
...
модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
|
registerClassAlias() в помощь.
|
|
|||||
|
Регистрация: Aug 2009
Сообщений: 134
|
Делаю:
//Записываю gameData в SharedObject экземпляр: registerClassAlias(getQualifiedClassName(gameData), getDefinitionByName(gameData) as Class);
var sharedObject:SharedObject = SharedObject.getLocal("profile");
sharedObject.data[“gameData”] = gameData;
//Далее обращаюсь:
var sharedObject:SharedObject = SharedObject.getLocal("profile");
var gd: GameData = GameData (sharedObject.data.gameData);
//компилятор выдает ошибку, что не может привести тип к GameData, т.к. возвращаемый объект типа данных Object.
Последний раз редактировалось Denis_ex; 18.04.2011 в 20:10. |
|
|||||
|
зарегистрируйте как сказал udaaff
__________________
http://cleptoman.free-lance.ru achivements: дважды благословлен на воровство. осеяный благодатью |
|
|||||
|
...
модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
|
Алатар, всё проще в этом случае.
|
|
|||||
|
Регистрация: Aug 2009
Сообщений: 134
|
В последнем моем посте, я так и делаю, регистрируюсь, потом кодирование, декодирование, но компилятор выдает ту же ошибку, т.е. на выходе получается тип Object.
Т.е. по вышеприведенному коду, что там не так? |
|
|||||
|
...
модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
|
Денис, погуглите по той информации, которую я вам дал.
|
|
|||||
|
Регистрация: Aug 2009
Сообщений: 134
|
Спасибо, помогло
![]() Если кому надо: http://riapriority.com/blogs/graann....sterclassalias Добавлено через 31 минуту Возник вопрос: если вызывать несколько раз registerClassAlias к одному и тому же классу, то ничего не будет дублироваться, вторичная регистрация отсеется на стадии инкапсуляции? |
![]() |
![]() |
Часовой пояс GMT +4, время: 02:24. |
|
|
« Предыдущая тема | Следующая тема » |
|
|