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

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

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

Регистрация: Apr 2012
Сообщений: 213
По умолчанию Boolean и SharedObject

Если я хочу сохранять булин в шейред обджект, то для каждой ли переменной надо создавать отдельный getLocal() или как-то в один можно запихнуть? Я просто не совсем понимаю принцип работы SharedObject

Старый 18.09.2014, 23:56
in4core вне форума Посмотреть профиль Отправить личное сообщение для in4core Найти все сообщения от in4core
  № 2  
Ответить с цитированием
in4core
[+4 06.05.14]
 
Аватар для in4core

Регистрация: Mar 2009
Сообщений: 4,219
Записей в блоге: 14
А чего там понимать в справке все написано. Конечно досточно объявить 1 раз
__________________
Марк Tween

Старый 19.09.2014, 00:24
Digital вне форума Посмотреть профиль Отправить личное сообщение для Digital Найти все сообщения от Digital
  № 3  
Ответить с цитированием
Digital

Регистрация: Apr 2012
Сообщений: 213
Код AS3:
public var shortE:Boolean = false,
                      _shortE:SharedObject
//функция для выгрузки, идёт без void
private function sharedObjectView1()
		{
			_shortE= SharedObject.getLocal('shorty');		
			if (_shortE.data)
			{
				shortE = _shortE.data;
			}
}
//функция сохранения
private function saveo(event:TouchEvent):void
		{
			_shortE.data['text'] = shortE
 
			_shortE.flush();
 
		}
Так вот сразу после запуска приложения, при запуске функции saveo я трейшу shortE и он тру, больше нигде его не изменяю. Способ сохранения неправильный, ['text'] использую для сохранения намбер переменных, а тут как быть? Справка молчит про булин в шаред

Добавлено через 3 минуты
Код AS3:
public var shortE:Number = 0,
                      _shortE:SharedObject
//функция для выгрузки, идёт без void
private function sharedObjectView1()
		{
			_shortE= SharedObject.getLocal('shorty');		
			if (_shortE.data['text'])
			{
				shortE = _shortE.data['text'];
			}
}
//функция сохранения
private function saveo(event:TouchEvent):void
		{
			_shortE.data['text'] = shortE
 
			_shortE.flush();
 
		}
Такая реализация с числами работала, проверял 0 или 1, но это всего лишь костыль, а нормально булины понять не могу

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

Регистрация: Jan 2009
Сообщений: 3,067
Записей в блоге: 3
Отправить сообщение для GBee с помощью Skype™
а я себе писал маленький кукименеджер
Код AS3:
import flash.net.SharedObject;
	public class CookieManager
	{
		public static var storeName:String = "";
		public static function getCookie(name:String, defaultValue:Object = null):Object
		{
			var so:SharedObject = SharedObject.getLocal(storeName, "/");
			var res:Object = so.data[name];
			if(res==null)
				return defaultValue;
			return res;
		}
 
		public static function saveCookie(name:String, value:Object):void
		{
			var so:SharedObject = SharedObject.getLocal(storeName, "/");
			so.data[name] = value;
			so.flush();
		}
	}
Только бульон все равно как 1/0 записывал. Кстати, надо было сразу метод в него же дописать.
__________________
Чтобы доказать, что вы не робот, причините вред другому человеку.

Старый 19.09.2014, 00:54
Digital вне форума Посмотреть профиль Отправить личное сообщение для Digital Найти все сообщения от Digital
  № 5  
Ответить с цитированием
Digital

Регистрация: Apr 2012
Сообщений: 213
Так SharedObject, это ж не совсем куки) Из хтмл или ДжС к ним не обратишься. ExternalInterface - куки. Ну сейчас не об этом. То-есть 0-1 приемлемое решение?

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

Регистрация: Jul 2013
Адрес: Днепр
Сообщений: 529
Отправить сообщение для alexandrratush с помощью ICQ Отправить сообщение для alexandrratush с помощью Skype™
SharedObject своего рода флеш-куки, товарищ GBee имел это ввиду.
P.S. Для просмотра локальных SO я использую утилиту http://blog.coursevector.com/minerva, очень удобно.

Старый 19.09.2014, 08:41
alexcon314 вне форума Посмотреть профиль Отправить личное сообщение для alexcon314 Найти все сообщения от alexcon314
  № 7  
Ответить с цитированием
alexcon314
listener

модератор форума
Регистрация: Jun 2006
Сообщений: 3,260
Записей в блоге: 28
Отправить сообщение для alexcon314 с помощью ICQ
GBee, твой пример дает нормальный Boolean:
Код AS3:
saveCookie("foo", true);
var o:Object = getCookie("foo", false);
trace(o is Boolean, o); // true, true
Цитата:
hexdump -C test.sol
00000000 00 bf 00 00 00 1a 54 43 53 4f 00 04 00 00 00 00 |......TCSO......|
00000010 00 04 74 65 73 74 00 00 00 03 07 66 6f 6f 03 00 |..test.....foo..|
0x03 - Boolean true, согласно спецификации AMF3.

Старый 19.09.2014, 13:12
in4core вне форума Посмотреть профиль Отправить личное сообщение для in4core Найти все сообщения от in4core
  № 8  
Ответить с цитированием
in4core
[+4 06.05.14]
 
Аватар для in4core

Регистрация: Mar 2009
Сообщений: 4,219
Записей в блоге: 14
alexcon314 - тут скорее интерпретатор виноват. На сколько я помню со - записывает текстовые данные. И там скорее всего идет перевод. Типа такого
if(a == "true" || a == true ) a as Boolean
Тоесть со в любом случае как txt документ получается вроде бы
__________________
Марк Tween

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

Регистрация: Jan 2009
Сообщений: 3,067
Записей в блоге: 3
Отправить сообщение для GBee с помощью Skype™
Цитата:
GBee, твой пример дает нормальный Boolean
Эээ, а, э. Почему я его так не использую?
Там какая то фигня была, вроде все в стринги переводилось раньше? Блин.
__________________
Чтобы доказать, что вы не робот, причините вред другому человеку.

Старый 19.09.2014, 22:55
Nooob вне форума Посмотреть профиль Отправить личное сообщение для Nooob Найти все сообщения от Nooob
  № 10  
Ответить с цитированием
Nooob
 
Аватар для Nooob

Регистрация: Mar 2007
Сообщений: 319
на самом деле есть очень большая разница между вызов getLocal или один getLocal с сохранением ссылки на so.
вызов getLocal читает файл с диска и при выходе из области видимости записывает в файл и помечает выделенные объекты для очистки мусора. если держать ссылку на so то чтение и запись будет один раз. если не вызывать flush то запись на диск будет только после закрытия флеш плеера. это очень важно понимать, если используешь so в качестве кэша для каких то медиа файлов. иначе постоянная запись/чтение убьёт производительность.

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

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

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


 


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


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