Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Хранение информации на стороне пользователя в AS 3.0 (http://www.flasher.ru/forum/showthread.php?t=73937)

Мио 07.01.2006 16:38

Хранение информации на стороне пользователя в AS 3.0
 
Можно ли будет в AS 3.0 хранить на компьютере пользователя мувиклипы. Сейчас класс SharedObject может сохранять у пользователя на компе только Number, String, Boolean и Object. Изменится что-нибудь в AS 3? Очень хочется, чтобы можно было сохранять и MovieClip.

BlooDHounD 07.01.2006 16:51

Эм .... как Вы это себе представляете? хранить их как нельзя было так и нельзя будет, на сколько я знаю. И вообще ... незачем.

Antares 07.01.2006 16:53

В SharedObject добавилась лишь возможность указывать кодировку. Если честно, сомневаюсь, т.к. не понимаю даже, где без этого не обойтись.

Напишите пожелание на форумах Adobe Labs.

Den0k 07.01.2006 17:08

Цитата:

Сообщение от Antares
В SharedObject добавилась лишь возможность указывать кодировку.

То есть objectEncoding.

Цитата:

Сообщение от Мио
Сейчас класс SharedObject может сохранять у пользователя на компе только Number, String, Boolean и Object.

И что ничего не изменилось?

а ByteArray?

Или я чего-то не понимаю?

Antares 07.01.2006 17:24

ByteArray не позволяет сохранять. ByteArray загружает.

Antares 07.01.2006 17:25

Здесь надо вспомнить политику Адоб. Flex 2 -- следующее поколение RIA. RIA, а не десктопа. Под десктоп сделают новый Цинк.

Мио 07.01.2006 17:35

Цитата:

Сообщение от Antares
Если честно, сомневаюсь, т.к. не понимаю даже, где без этого не обойтись.

Мне надо для игры. Чтобы каждый раз при встрече с объектом не загружать его заново (а объекты могут быть весьма объемными). Имеется ввиду при разных сеансах игры, после закрытия проигрывателя. Можно конечно извратится и предлагать пользователю самостоятельно сохранять объекты (каждый в своем swf файле), но идеально было бы, чтобы все само собой, чтобы игровой процесс не тормозился.

Antares 07.01.2006 17:37

Не волнуйся -- если внешний вид объекта не меняется, т.е. файл не изменяется, все ок, будет браться из кэша.

Den0k 07.01.2006 17:43

В смысле Zinc.

2Antares
Уточни плиз, это значит, что SO в AS3 отличаеться только objectEncoding (для совместимости) и ,например, картинку там нормально не сохранить, так или... ?

silin 07.01.2006 17:44

стало интересно: а вдруг ?
эксперимент:
пишем, ошибок не дает..
Код:

package {
        import flash.display.MovieClip;
        import flash.net.*;
        import flash.util.*;
        public class mc1 extends MovieClip {
                public function mc1() {
                        var so:SharedObject = SharedObject.getLocal("tmp","/");
                        so.data.mc = new MovieClip();
                        so.data.mc.graphics.beginFill(0);
                        so.data.mc.graphics.drawCircle(50,50,50);
                        addChild(so.data.mc);
                        so.data.num=new Number(7);
                        so.flush();
                }
        }
}

читаем..
Код:

package {
        import flash.display.MovieClip;
        import flash.net.*;
        import flash.util.*;
        public class mc2 extends MovieClip {
                public function mc2() {
                        var so:SharedObject = SharedObject.getLocal("tmp","/");
                        for(var prop in so.data)trace(so.data[prop]);//7 undefined
                    addChild(so.data.mc);//Parameter 'child' must be non-null.
                }
        }
}

выходит, что низя..
liveDocs:" Each attribute (of ShsredObject.data) can be an object of any basic ActionScript or JavaScript type—Array, Number, Boolean, and so on."

Мио 07.01.2006 17:44

Цитата:

Сообщение от Antares
Не волнуйся -- если внешний вид объекта не меняется, т.е. файл не изменяется, все ок, будет браться из кэша.

Кэш это временные файлы интернета? А если проигрыватель не в Эксплорере (т.е. клип не на страницу помещен), а в .exe файл зашит вместе с клипом?
При выключении компа эти файлы не стираются. А стираются через опцию Эксплорера "удалить временные файлы". Я правильно понимаю?

Antares 07.01.2006 17:51

Не совсем. Кэш -- это временные файлы вообще.

Antares 07.01.2006 17:52

Еще раз повторяю: не затачивают ребята Flex 2 под десктоп. И правильно делают. Нет счастья в мире Майкрософта. (продолживший эту тему здесь получит плюс)

Den0k 07.01.2006 17:57

Честно говоря одно врямя я тоже пытался бороться с "ветряными мельницами", выискивал способы разрабатывать десктоп приложения на Флеше (файловая система, запись, сеть, окна и тд.) по не уяснил для себя, что для этого созданы (или нужно создать) проги типа SWF Stidio и выше упомянутой...

А экспорт в *.exe сделан для распространения флешки людям без плеера, а не для преодоления ограничений, записи файлов и всего остального что могут проги написанные на Си , например.

2Antares
Уточни плиз, это значит, что SO в AS3 отличаеться только objectEncoding (для совместимости) и ,например, картинку там нормально не сохранить, так или... ?

Antares 07.01.2006 18:12

Это значит именно то, что я написал. SO в AS3 имеет только одно новое свойство по сравнению с AS2/AS1, и метод этот отвечает за кодировку данных, которые могут быть извлечены скриптом на сервере посредством Remoting. Так и написано: AMF edition.

BlooDHounD 07.01.2006 19:16

Есть идея. посмотрите класс БайтЭррэй. Там есть такой метод witeObject. ну так вот пишем в него Объект, читаем из него строку и записываем шареды. потом проводим обратную операцию. На эксперементы нет времени. попробуйте сами.

Antares 07.01.2006 19:20

Результат напрямую зависит от того, запишет ли он графику. Если тебе надо хранить статику -- можно через BitmapData хранить в виде строки (эдакий подвид сериализации)

Antares 07.01.2006 19:21

Хотя Блуд мне в Гугл Токе сообщает, что должно побитово взять изображение... ByteArray.writeObject

Мио 07.01.2006 20:10

Цитата:

Сообщение от Antares
Не совсем. Кэш -- это временные файлы вообще.

Ну так ты не сказал, где они лежат и до каких пор сохраняются. Именно когда я без Эксплорера клип сморю, а в нем происходит действие loadMovie() и загружается другой клип из инета. Попадет этот загружаемый клип во временные файлы? Если да, то куда именно и как долго он там пролежит, как его от туда можно удалить? Чтение этого временного файла, как я понимаю, будет происходить автоматически при обращении к тому же адресу, откуда он был взят, при условии, что файлы тут и там во всем одинаковые.
В .exe хочу сделать, чтобы во-первых, пользователю не нужно было скачивать Flash Player, а во-вторых не хочу связываться c Эксплорером.
А почему хочу писать приложение на Flash это другая история. Но это сейчас не важно.

Antares 07.01.2006 20:14

Попадает. Где лежат -- я не интересовался. Поэтому нет уверенности в том, сколько лежат. Можешь спросить в Общих вопрсах.

Мио 07.01.2006 20:21

Спасибо за ответы.
Хоть какая-то ясность и обнадеживающие сведения. =))))

FSBmipt 10.01.2006 16:57

Цитата:

Ну так ты не сказал, где они лежат и до каких пор сохраняются. Именно когда я без Эксплорера клип сморю, а в нем происходит действие loadMovie() и загружается другой клип из инета. Попадет этот загружаемый клип во временные файлы? Если да, то куда именно и как долго он там пролежит, как его от туда можно удалить? Чтение этого временного файла, как я понимаю, будет происходить автоматически при обращении к тому же адресу, откуда он был взят, при условии, что файлы тут и там во всем одинаковые.
Для IE путь C:\Documents and Settings\%USERNAME%\Local Settings\Temporary Internet Files
Структура папок там довольно сложная и не тривиальная, но если смотреть эскплорером, то все покажется красиво )
Для других браузеров пути другие, кэш у каждого браузера свой. Фаилы удаляются либо вручную, либо автоматически по давности (после того, как размер кеша достигнет предельно разрешенного).

Цитата:

В .exe хочу сделать, чтобы во-первых, пользователю не нужно было скачивать Flash Player, а во-вторых не хочу связываться c Эксплорером.
Для создания stand along приложения очень советую прожку screen weaver Удобно, бесплатно и красиво.

Den0k 10.01.2006 17:20

Цитата:

Сообщение от FSBmipt
Для создания stand along приложения очень советую прожку screen weaver Удобно, бесплатно и красиво.

Огромное спасибо за эту ссылку!


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

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