Во время создания игры на Flash перед Вами может встать проблема: "Как сохраниться?" Ведь если игра достаточно продолжительная, то это просто необходимо - иначе юзеру придется все проходить с нуля!
Как же это сделать? Флеш отлично все сохраняет, раньше в предыдущих версиях Флеша можно было создавать лишь внешний txt-файл, где бы хранились переменные, но теперь есть специальный компонент, специальная фича именно для сохранений!
Ближе к делу, вот код: var сохраняемые_данные:SharedObject = SharedObject.getLocal("название_файла_вашего_сохранения");
сохраняемые_данные.flush();
Этот код мы вешаем на самый первый кадр ролика, желательно в самое начало всего кода. Что он делает? Он создает само сохранение, как бы сам файл. Понятно, что пока он еще пустой.
название_файла_вашего_сохранения - пофиг какое - оно нигде больше фигурировать не будет
сохраняемые_данные - название этой "переменной" Вам нужно будет запомнить - скоро поймете, зачем
Итак, теперь как же сохранить какую-нибудь переменную? Например, переменную, отвечающую за номер миссии на которой у нас юзер закончил прошлый раз:
сохраняемые_данные.data.СОХРАНЕНИЕ_МИССИЯ = МИССИЯ;
Обсудим каждое слово:
сохраняемые_данные - теперь поняли, зачем надо было запоминать это
data - просто запомнить, пишется все через это слово
СОХРАНЕНИЕ_МИССИЯ - называть можно как угодно - это просто название переменной, в которой хранится значение переменной МИССИЯ - следовательно, советую называть именно по моему принципу
Теперь нужно это сохранение загрузить в будущем при запуске игры:
просто тупо меняем местами:
МИССИЯ = сохраняемые_данные.data.СОХРАНЕНИЕ_МИССИЯ;
Но возникает очевидная проблема - как узнать, а есть ли сохранение вообще, может это первый запуск игры и в этом случае всем переменным нужно присвоить изначальные значения, а не из несуществующего сохранения
Делается это так:
if (!сохраняемые_данные.data.наличие_сохранения) {
МИССИЯ = 0;
сохраняемые_данные.data.наличиесохранения = true;
}
Как это работает? есть переменная наличие_сохранения, она true или false. Если у нас первый запуск - то сохранения еще нет, а значит и переменной нет, а значит она ложна и код в скобках выполняется,а если Не первый, то значит уже есть сохранение, она стала Тру
Теперь научимся удалять сохранение:
сохраняемые_данные.clear();
Я думаю, Вы догадались, что можно создавать не одно такое сохранение, а скока хочешь, например, сохраняемые_данные_1, сохраняемые_данные_2 итд. Загружать, удалять, сохранять, все делать можно отедельно друг от друга - это очень хорошо, так можно сделать несколько слотов сохранения, как в большинстве серьезных уважающих себя игр(ну ГТА хотя бы вспомните)
Если у Вас очень много переменных,которые сохранять, то не забывайте про массивы - в них гораздо удобнее хранить значения переменных, а сохраняются точь в точь также:
сохраняемые_данные.data.СОХРАНЕНИЕ_ВАШ_МАССИВ = ВАШ_МАССИВ;
Ну и напоследок давайте найдем наше творение у себя на жестком диске)) А вот тут проблема - его фиг найдешь!!=)))
У меня на семерке адрес таокй:
C:\Users\ваше_имя_пользователя\AppData\Roaming\Macromedia\Flash Player\#SharedObjects\хз_какие-то_буковки_и_циферки_у_всех_разные\localhost
На ХР отличается немного:
C:\Documents and Settings\ваше_имя_пользователя\Application Data\дальше также
Вот основное как бы и все)Будут вопросы, замечания - говорите)) Удачи в сохранениях!=)