![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Aug 2009
Сообщений: 134
|
В первый раз делаю однопользовательскую игру, которая будет иметь сохранение уровней и пр. Хотел бы спросить опытных игровых флеш разработчиков, что лучше и безопаснее (чтобы, как можно меньше было проблем с не сохранением игры) юзать SharedObject или FileReference?
При исп. SharedObject юзер может отключить локальное сохранение. А при FileReference, как юзер может ограничить? Объем сохранения - всего несколько чисел. Хотелось бы не иметь проблем с несохранением данных, как в игре онлайн, так и оффлайн. Поискал на форуме, вроде многие советуют именно SharedObject… |
|
|||||
|
Регистрация: Jan 2009
Сообщений: 1,651
|
ни разу не видел, чтобы пользователь выключал SharedObject. FileReference никак не ограничешь, просто можно нажать "Отмена" на предложение сохранить файл.
Вообще ни разу не видел, чтобы сохранение организовывали через FileReference.
__________________
мой пустой блог |
|
|||||
|
Регистрация: Aug 2009
Сообщений: 134
|
а нужно ли использовать для явной записи данных на диск юзера метод flush()?
|
|
|||||
|
Да, иначе записи не будет. Если мы о SharedObject говорим.
__________________
Тут мужик танцует и поёт про флэш |
|
|||||
|
Регистрация: Aug 2009
Сообщений: 134
|
я попробовал протестировть сохранение:
запустил программу со сл. кодом: var sharedObject:SharedObject = SharedObject.getLocal("savegameN7");
sharedObject.data.scn = 8;
Странно, но при этом я не использовал sharedObject.flush(); для записи на жесткий диск, а запись, как видно выше произошла? Я предполагал, что БЕЗ функции sharedObject.flush(); общий объект создастся в оперативной памяти и при закрытии флешки просто уничтожится без записи на жесткий диск... Может я не совсем все верно предполагаю? Cреда разработки CS4 + FlashDevelop (AS3). Последний раз редактировалось Denis_ex; 27.01.2010 в 15:58. |
|
|||||
|
...
модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
|
Цитата:
|
|
|||||
|
Регистрация: Feb 2009
Сообщений: 1,195
|
flush всюду нужен для принудительного сброса данных из кэша (дискового) на носитель. Без него сброс данных происходит обычно при закрытии файла, или как в цитате выше.
|
|
|||||
|
Регистрация: Aug 2009
Сообщений: 134
|
А т.е. разница в том, что при исп. flush() - НЕМЕДЛЕННО записывает постоянный локальный общий объект в локальный файл. А если не юзать flush(), то записывает в файл, только после закрытия флешки, вызова методов clear(), close(), потери указателя и пр.
Добавлено через 34 минуты Большое спасибо всем. |
![]() |
![]() |
Часовой пояс GMT +4, время: 20:29. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|