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

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

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

Регистрация: Jul 2003
Сообщений: 87
По умолчанию Проблемы с SharedObject

Есть массив d, пользователь заполняет его, дублируя и расставляя в рабочей области некоторые мувики. Есть две кнопки по нажатию на которые масив нужно сохранять и открывать. В массиве хранятся продублированные мувики и их свойства: d[i][0]-_x
d[i][1]-_y
d[i][2]-_name
d[i][3]-_rotation
d[i][4]-depth
Но постоянно вылазят какие-то необъяснимые бока... Извиняюсь, но код прилагаю без рамочки, так-как забыл как это делается:
Код:
var so:SharedObject = SharedObject.getLocal("masiv");

function saveit(){so.data.array =d}///-сохранить

///-открыть
function openit(){item=0
for(i in d){eval(d[i][2]).removeMovieClip()}
d=so.data.array
build()
}
function build(){
	for(i in d){item++
	duplicateMovieClip(substring(d[i][2],1,4),d[i][2],d[i][4])
	eval(d[i][2])._x=d[i][0]
	eval(d[i][2])._y=d[i][1]
	eval(d[i][2])._rotation=d[i][3]
	}
	}


Последний раз редактировалось alexcon314; 29.10.2008 в 00:08.
Старый 29.10.2008, 01:05
DarkLight вне форума Посмотреть профиль Отправить личное сообщение для DarkLight Посетить домашнюю страницу DarkLight Найти все сообщения от DarkLight
  № 2  
Ответить с цитированием
DarkLight
ветеран форума
 
Аватар для DarkLight

Регистрация: May 2006
Адрес: Москва
Сообщений: 2,978
Отправить сообщение для DarkLight с помощью ICQ Отправить сообщение для DarkLight с помощью Skype™
По коду мало чего понятно, но по личному опыту:
1) сохранение в so несинхронно
2) при чтении лучше убивать ссылку на so и получать заново. В свое время тема на форуме поднималась, у меня получалось читать один so двумя флешками одновременно только при условии пересоздания ссылки на so после каждой записи. И это работало не на всех компьютерах.
__________________
4am is time to rock

Старый 29.10.2008, 01:15
sergsa вне форума Посмотреть профиль Отправить личное сообщение для sergsa Найти все сообщения от sergsa
  № 3  
Ответить с цитированием
sergsa

Регистрация: Jul 2003
Сообщений: 87
что значит сохранение несинхронно и как сделать синхронным и с чем синхронизировать?
Что значит убивать ссылку?

Старый 29.10.2008, 01:18
DarkLight вне форума Посмотреть профиль Отправить личное сообщение для DarkLight Посетить домашнюю страницу DarkLight Найти все сообщения от DarkLight
  № 4  
Ответить с цитированием
DarkLight
ветеран форума
 
Аватар для DarkLight

Регистрация: May 2006
Адрес: Москва
Сообщений: 2,978
Отправить сообщение для DarkLight с помощью ICQ Отправить сообщение для DarkLight с помощью Skype™
Сохранение несинхронно - значит данные обновятся не в момент, когда Вы сохраняете, а чуть позже. Кстати, чтобы сохранить данные, нужно вызвать метод flush после всех изменений, а в Вашей функции saveit я этого не вижу.

Убить ссылку - обнулить, например.
__________________
4am is time to rock

Старый 29.10.2008, 01:47
sergsa вне форума Посмотреть профиль Отправить личное сообщение для sergsa Найти все сообщения от sergsa
  № 5  
Ответить с цитированием
sergsa

Регистрация: Jul 2003
Сообщений: 87
Тысяча извинений за тупость ,но всё равно я ничего не понял...
Данные записываются в масив по ходу действий пользователя. А масив в so - по клику на кнопке "сохранить". О каких моментах идёт речь?
И какой смысл обнулять so перед чтением, если мне нужна информация из него? Что я потом считаю, если обнулю?

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

Регистрация: Aug 2005
Адрес: я из Ленинграда
Сообщений: 1,082
Отправить сообщение для Mnilionic с помощью ICQ
зачем удалять:
Код:
...for(i in d){eval(d[i][2]).removeMovieClip()}
а затем 'стрить':
Код:
...d=so.data.array
build()
может заранее проверять есть ли куки и 'строить' сразу как положенно?

Старый 29.10.2008, 04:35
sergsa вне форума Посмотреть профиль Отправить личное сообщение для sergsa Найти все сообщения от sergsa
  № 7  
Ответить с цитированием
sergsa

Регистрация: Jul 2003
Сообщений: 87
удалять что-бы очистить рабочую область, которую потом заполнить новыми объектами на основании информации загруженной из so

затем что-б очистить рабочую область и построить новую композицию на основании информации, полученной из so. Т. е. наставил я объектов, а потом вдруг решил вернуться к сохранённому варианту - существующий вариант удаляем, а на его месте выстраиваем сохранённый


Последний раз редактировалось alexcon314; 29.10.2008 в 09:39.
Создать новую тему Ответ Часовой пояс GMT +4, время: 22:03.
Быстрый переход
  « Предыдущая тема | Следующая тема »  
Опции темы
Опции просмотра

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

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


 


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


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