Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 1.0/2.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 22.12.2008, 17:21
PgeorgyV вне форума Посмотреть профиль Отправить личное сообщение для PgeorgyV Найти все сообщения от PgeorgyV
  № 1  
Ответить с цитированием
PgeorgyV

Регистрация: Apr 2008
Сообщений: 79
По умолчанию как получить список всех SharedObject?

Ну, собственно, вопрос в теме, как узнать о существовании и получить имена всех SharedObject, доступных данной флешке
Это вообще возможно?

Добавлено через 43 часа 20 минут
Может быть тогда кто-нибудь скажет сколько они живут?


Последний раз редактировалось PgeorgyV; 23.12.2008 в 11:58.
Старый 15.01.2009, 21:11
ImpassIve вне форума Посмотреть профиль Отправить личное сообщение для ImpassIve Найти все сообщения от ImpassIve
  № 2  
Ответить с цитированием
ImpassIve
 
Аватар для ImpassIve

Регистрация: Jan 2009
Адрес: Россия/М.О./Курилово
Сообщений: 7
Ну, может быть мой подход и не самый верный, но в 8-м Flash'е я бы сделал примерно так:
1. Задача переменных -
Код:
_root.f = SharedObject.getLocal();
_root.f.data.a1 = 34;
_root.f.data.a2 = 30;
_root.f.data.a3 = 24;
...
2. Затем их чтение -
Код:
_root.n = SharedObject.getLocal();
for (i in _root.n.data) {
	trace(i+" = "+_root.n.data[i]);
}
В появившемся окне будет выдано:
Код:
a3 = 24
a2 = 30
a1 = 34
Ну, а вместо trace() можно сразу поставить обработку этих переменных.
__________________
for(i=1;i<=3;i++){trace("Учиться");}
trace("Copyright В.И.Ленин");

Старый 16.01.2009, 02:07
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 3  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
ImpassIve : У вас ведь здесь один SO, нет? Вопрос совсем о другом.
Я думал об этом, для сейвов игры необходимая вещь. Пришел к выводу, что надо делать специальный SO-реестр, который [каждая] флэшка будет считывать, и перед записью какого-то своего сейва добавлять данные о нем в сейв-реестр. Т.е. работать с двумя объектами - своим конкретным сейвом и общим для всех списком уже существующих сейвов.
__________________
Reality.getBounds(this);

Старый 16.01.2009, 13:13
ENDrain вне форума Посмотреть профиль Отправить личное сообщение для ENDrain Найти все сообщения от ENDrain
  № 4  
Ответить с цитированием
ENDrain
 
Аватар для ENDrain

Регистрация: Jan 2009
Адрес: 70 ю.ш., 90 в.д.
Сообщений: 20
Отправить сообщение для ENDrain с помощью ICQ
Для этого нужно, чтобы у сейвов были однотипные названия - "сейв1", "сейв2" и т.д., и чтобы в общем реестре было значение, указывающее общее кол-во сейвов. Тогда:

Код AS1/AS2:
//объявляешь переменную
for (var i:Number = 0; i<число_из_реестра; i++){
    переменная.getLocal("сейв"+i);
    // делаешь че тебе надо
};
А живут они, по моим наблюдениям, бесконечно.
__________________
(nLauthing.time.sec == 60) ? nLife.time.hours++ : break;


Последний раз редактировалось ENDrain; 16.01.2009 в 15:47.
Старый 16.01.2009, 13:16
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 5  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
ENDrain, для оформления своего кода, надо использовать теги [code][/code].
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 16.01.2009, 15:35
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 6  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
ENDrain, ну если пойти таким путем, то и реестр не нужен - просто обработать ошибку, что сейва с таким именем нет и прекратить запрос из цикла.
Реестр удобен для игры, потому что можно предоставить игроку список его сейвов для выбора, что загружать, и тем, что можно именно задать любое имя сейву, а в реестре сохранять не количество сейвов, а массив имен, дат и т.д.
__________________
Reality.getBounds(this);

Старый 16.01.2009, 15:49
ENDrain вне форума Посмотреть профиль Отправить личное сообщение для ENDrain Найти все сообщения от ENDrain
  № 7  
Ответить с цитированием
ENDrain
 
Аватар для ENDrain

Регистрация: Jan 2009
Адрес: 70 ю.ш., 90 в.д.
Сообщений: 20
Отправить сообщение для ENDrain с помощью ICQ
Согласен.

Код AS1/AS2:
for (var i:Number = 0; i<большое_число; i++){
    переменная.getLocal("сейв"+i);
    if (переменная.значение_для_проверки == undefined) {
        break;
    } else {
    // делаешь че тебе надо
    };
};
__________________
(nLauthing.time.sec == 60) ? nLife.time.hours++ : break;

Создать новую тему Ответ Часовой пояс GMT +4, время: 08:26.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 08:26.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.