Flash Zone Forum > Ôóíêöèÿ ÑÅÉÂÃÅÉÌ.
Ïîìîùü · Ïîèñê · Ïîëüçîâàòåëè · Êàëåíäàðü
Ïîëíàÿ âåðñèÿ ýòîé ñòðàíèöû: Ôóíêöèÿ ÑÅÉÂÃÅÉÌ.
Flash Zone Forum > Macromedia Flash > Îáùèå âîïðîñû
Eyronz
Ïîìîãèòå, êòî çíàåò! Ïèøó ÐÏÃ, à áåç ñîõðàíåèÿ èãðóøêà íå èíòåðåñíîé âûéäåò. huh.gif
MustLive
Eyronz

Êàê ÿ óæå íåîäíîêðàòíî ãîâîðèë íà ôîðóìå (îòíîñèòåëüíî ñîõðàíåíèÿ äàííûõ âî ôëåøå), ôëåø ñàì íå ïîääåðæèâàåò ñîõðàíåíèå äàííûõ.

Åäèíñòâåííûé âàðèàíò - ýòî ÷åðåç ñåðâåð. Ïåðåäàòü äàííûå íà ñêðèïò (perl/php/äð.), êîòîðûé ñîõðàíèò äàííûå.

Ìîæåøü ñäåëàòü ÁÄ, â êîòîðóþ áóäóò çàïèñûâàòüñÿ ñåéâû èãðîêîâ (ïî èìåíè èãðîêà), è ïîñëå çàïóñêà èãðû (è àâòîðèçàöèè) èãðîê ñìîæåò çàãðóçèòü èãðó ñ ñåéâà. Ò.å. äàííûå (ñåéâà) áóäóò ïåðåäàâàòüñÿ/ïðèíèìàòüñÿ íà/ñ ñåðâåðà.

P.S.

 ïîñëåäíèõ âåðñèÿõ ôëåøà (ñ 7é, à çà÷àòêè ýòîãî áûëè çàëîæåíû åù¸ â 6é), ïîÿâèëàñü âîçìîæíîñòü èñïîëüçîâàòü ôëåø-êóêèñû. Íî ñèëüíî íà íèõ ðàññ÷èòûâàòü íå ñòîèò (è äî ñèõ ïîð ýòà ìåòîäèêà ñèëüíî íå ðàñïðîñòðàíèëàñü). Ñåðâåð - ýòî êëàññè÷åñêèé è ïðîâåðåííûé âàðèàíò.
tiHo
Ìîíà âîò òàê:

Êîä
so=SharedObject("save")
save_but.onRelease=function(){
so.data.score=score_txt.text
}

view_but.onRelease=function(){
view_txt.text=so.data.save
}


Òóò èíôîðìàöèÿ áåðåòñÿ èç òåêñòîâîãî ïîëÿ è ñîõðàíÿåòñÿ â ëîêàëüíûé îáúåêò. ïîòîì ìîæíî åå è âûçâàòü îáðàòíî.

óñëîâèÿ:
AS2(mx)
òåêñòîâîå ïîëå view_txt (dynamic)
òåêñòîâîå ïîëå save_txt (input)


è âîîáùå ïîñìàðè â ñòàíäàðòíîì õåëïå ïðî SharedObject.
ó ìåíÿ F-mx 2004 pr. òàì ðàáîòàåò.
MustLive
Ôëåø-êóêèñû, î êîòîðûõ ÿ è ãîâîðèë.

Êàê ñêàçàíî â õåëïå Ôëåø 8:

SharedObject

public dynamic class SharedObject
extends Object

The SharedObject class is used to read and store limited amounts of data on a user's computer. Shared objects offer real-time data sharing between objects that are persistent on the user's computer. Local shared objects are similar to browser cookies.

Ïðè÷¸ì: Availability: ActionScript 1.0; Flash Player 6

Ò.å. åù¸ â 6ì ôëåøå áûëè SharedObject, òîëüêî ÿ íà íèõ âíèìàíèÿ íå îáðàòèë (è òàê è íå èñïîëüçîâàë). È êàê ÿ ãëÿíóë òîëüêî ÷òî â õëåïå, ïðè÷èíà ýòîìó ñëåäóþùàÿ: â õåëïå 6ãî íåò îïèñàíèÿ SO. Ñîâñåì. Âî âñ¸ì õåëïå ëèøü îäèí ðàç âñòðåòèëàñü ñòðîêà "SharedObject", â óïîìèíàíèè ñóôèêñîâ (_so SharedObject).

À â ïëååðàõ ÿ ñòîëêíóëñÿ ñ ôëåø-êóêèñàìè êàê ðàç ñ 7ãî, òîãäà íàâåðíîå Ìàêðîìåäèÿ âî ôëåø 7 â õåëïå íîðìàëüíî îïèñàëà SO, âîò è íà÷àëè ëþäè þçàòü èõ smile.gif

 îáùåì, ñïàñèáî tiHo çà ïîëåçíóþ èíôó.
MustLive
Öèòàòà(tiHo @ 30.04.2006 - 12:29)
Ìîíà âîò òàê:

Êîä
so=SharedObject("save")
save_but.onRelease=function(){
so.data.score=score_txt.text
}

view_but.onRelease=function(){
view_txt.text=so.data.save
}


Òóò èíôîðìàöèÿ áåðåòñÿ èç òåêñòîâîãî ïîëÿ è ñîõðàíÿåòñÿ â ëîêàëüíûé îáúåêò. ïîòîì ìîæíî åå è âûçâàòü îáðàòíî.

tiHo

Ýòî ïîëåçíûé ìàòåðèàë!

SharedObject - ôëåø êóêèñû. Î êîòîðûõ ÿ óïîìèíàë, íî èíôû ïî íèì ó ìåíÿ íåáûëî (ïî èñïîëüçîâàíèþ). ×òî ñåãîäíÿ ñ ïîìîùüþ tiHo ìû èñïðàâèëè wink.gif

Ñåðâåðíûé âàðèàíò âñ¸ åù¸ îñòà¸òñÿ êëàññè÷åñêèì è íàèáîëåå ïðîâåðåííûì è çàðåêîìåíäîâàâøèì ñåáÿ. Íî îí òîæå íå ëèø¸í íåäîñòàòêîâ (òðåáóåò íàïèñàíèÿ áîëüøå êîäà, â òîì ÷èñëå è ñåðâåðíîãî, è òðåáóåò äîñòóïà â èíåò), â ñðàâíåíèè ñ ôëåø-êóêèñàìè. Ïîýòîìó â çàâèñèìîñòè îò çàäà÷è, ìîæíî è ôëåø-êóêèñû SharedObject èñïîëüçîâàòü, êîãäà íå íóæíî öåíòðàëèçèðîâàííîå õðàíåíèå äàííûõ, êîãäà íå íóæíî çàùèùàòü è àâòîðèçèðîâàòü äîñòóï ê äàííûì (âåäü ëîêàëüíûå êóêèñû ìîæíî "çàáðàòü", "ìîäèôèöèðîâàòü", â îáùåì ýòî íå ÿâëÿåòñÿ íàä¸æíûì õðàíèëèùåì äàííûõ), è êîãäà íåò äîñòóïà â èíåò, èëè íå õî÷åòñÿ ê íåìó ïðèâÿçûâàòüñÿ, è/èëè åñòü îãðàíè÷åíèÿ íà èñïîëüçîâàíèå ñåðâåðà äëÿ çàïèñè/÷òåíèÿ äàííûõ.

Íàïðèìåð äëÿ ñåéâà èãð SharedObject - ýòî îïòèìàëüíûé âàðèàíò (íåðåäêî ñòàëêèâàëñÿ ñ òàêèìè èãðóøêàìè). Õîòÿ ïîêà ìàëî åù¸ ôëåø-èãð ïðàêòèêóþò ñåéâû, íó à äëÿ "ðåêîðäîâ" ñåðâåðíûé âàðèàíò - ýòî åäèíñòâåííûé âàðèàíò.

Íóæíî ëèøü ïîìíèòü, ÷òî ïîëüçîâàòåëü ìîæåò çàïðåòèòü çàïèñü êóêèñîâ â íàñòîéêàõ ôëåø ïëàãèíà/ïëååðà. Õîòÿ ïî óìîë÷àíèþ îíà âêëþ÷åíà. Ïîýòîìó ñòîèò íà ñàéòå/â èãðå ïîðåêîìåíäîâàòü þçåðàì â îáÿçàòåëüíîì ïîðÿäêå "âêëþ÷èòü ôëåø-êóêèñû", ÷òîáû èìåòü âîçìîæíîñòü ñîõðàíÿòñÿ.

Çàìå÷ó, ÷òî ïðèâåä¸ííûé tiHo ó ìåíÿ íå çàðàáîòàë (âî ôëåø 8), ïðèøëîñü åãî ìîäèôèöèðîâàòü:
Êîä
var so:SharedObject = SharedObject.getLocal("save");
save_but.onRelease=function(){
    so.data.score=save_txt.text;
    so.flush();
}
view_but.onRelease=function(){
    view_txt.text=so.data.score;
}


Òàêæå çàìå÷ó, ÷òî ðàçíûå âåðñèè ôëåø ïëååðîâ ïèøóò (ïî óìîë÷àíèþ) â ðàçíûå ïàïêè (ïóòè) ñâîè êóêèñû.

 ÷àñòíîñòè 7é ïëååð â ïàïêå Flash Player ñîçäà¸ò ïàïêó localhost è â íåé óæå ïóòü ê êóêèñó. À âîò 8é ïëååð äåëàåò â ïàïêå Flash Player âíà÷àëå ïàïêó #SharedObjects, ïîòîì 8KDSNQPQ (ñëó÷àéíûé íàáîð) à ëèøü ïîòîì localhost è ïóòü ê êóêèñó. Ýòî íóæíî ó÷èòûâàòü.

Ýòî íóæíî ó÷èòûâàòü. À òî ëþäè ñ ôëåø ïëååðàìè/ïëàãèíàìè ðàçíûõ âåðñèé (è ó îäíîãî ÷åëîâåêà ì.á. íåñêîëüêî ðàçíûõ ïëååðîâ/ïëàãèíîâ) ìîãóò ñòîëêíóòüñÿ ñ íåêîòîðûìè òðóäíîñòÿìè.

P.S.

 ñëåäóþùèõ íîìåðàõ íàøåé ôëåø ðàññûëêè ÿ îáÿçàòåëüíî óäåëþ âíèìàíèå ôëåø-êóêèñàì - ïðàêòè÷åñêîìó èñïîëüçîâàíèþ SharedObject.
tiHo
MustLive!!

ìîé ñêðèïò íåðàáîòàë ïî (êàê ÿ äóìàþ) 2 ïðè÷èíàì.

1. ó ìåíÿ ôëåø 7.
2. ÿ íàïèñàë åòî ñðàçó æå è íå ïðîâåðÿë íà ôëåø(íàâåðíîå åòîãî íåíàäî áûëî äåëàòü, èáî ôîðóì-ñâÿòîå òâîðåíèå, è ðàçìåùàòü íà íåì íåïðîâåðåííóþ èíôîðìàöèþ - ýòî ãðåõ, äåòè ìîè).
biggrin.gif
Âîò òàê âûðàçèëñÿ.
tongue.gif
Rohan
òàê âåäü çàïóòàòüñÿ ìîæíî... Êóêèñû - åñòü êóêèñû. Êëàññ Cookies íèêòî íå îòìåíÿë (õîòü è íå äîêóìåíòèðîâàë), à Shared Object - ýòî Shared... Object... smile.gif
MustLive
Rohan smile.gif

Ñóòü Shared Object êàê ðàç ñâîäèòñÿ ê ôëåø âàðèàíòå êóêèñîâ, è ñàìà Ìàêðîìåäèÿ (â õåëïå 8ãî) òàê è ïèøåò, êàê ÿ óæå ïèñàë ðàíåå, ÷òî:
Öèòàòà
Local shared objects are similar to browser cookies.

Ò.å. ôëåø-êóêèñû smile.gif Êàê ïåðåâîä÷èêè íà ðóññêèé ôëåø õåëïà áóäóò ïåðåâîäèòü äàííûé ôðàãìåíò õåëïà (è áóäóò ëè îáçûâàòü Shared Object êóêèñàìè) - ýòî èõ äåëî, íî â ìîåé èíòåðïðèòàöèè SO áóäóò ôëåø-êóêèñàìè. Êîíå÷íî ÿ áóäó ïîä÷åðêèâàòü, ÷òî ýòî SO.

Êñòàòè, ïî òåìå ñîõðàíåíèÿ äàííûõ. Ìîæíî èñïîëüçîâàòü è îáû÷íûå (áðàóçåðíûå) êóêèñû. Ñ ïîìîùüþ ïåðåäà÷è äàííûõ ÿâà-ñêðèïòó èç ôëåøà, êîòîðûé è çàïèøåò êóêèñû â áðàóçåð. Ïðè ÷òåíèè êóêèñà èç js ïåðåäàþòñÿ äàííûå âî flash. Ýòî õèòðûé, íî âîçìîæíûé âàðèàíò smile.gif Ñ èñïîëüçîâàíèåì "ñòàíäàðòíûõ" êóêèñîâ.  ýòîì ñëó÷àå ìîæíî îáîéòè íå ïîëíóþ ñîâìåñòèìîñòü êóêèñîâ â ðàçíûõ âåðñèÿõ ôëåø ïëàãèíîâ (÷òî ðàçíûå ïóòè è ïîýòîìó ðàçíûå êóêèñû), íî çàòî ïîëó÷èòñÿ ïðèâÿçêà ê áðàóçåðó (êîíêðåòíîìó, â ðàçíûõ áðàóçåðàõ ñâîèõ êóêèñû, äà è ôëåø-êóêèñû ìîãóò ðàáîòàòü êàê â áðàóçåðå, òàê è â ñòàöèîíàðíîì ïëååðå).

Öèòàòà
Êëàññ Cookies íèêòî íå îòìåíÿë (õîòü è íå äîêóìåíòèðîâàë)

Ïî ïîâîäó Cookies òû ìîã áû âïîëíå ïîäåëèòñÿ ñâîèìè çíàíèÿìè. Âåäü êëàññ íå äîêóìåíòèðîâàííûé. Ìîæåøü ïîäåëèòñÿ ñâîèì îïûòîì ðàáîòû ñ äàííûìè êóêèñàìè. Ïîêà æå îñíîâíûì èíñòðóìåíòîì áóäóò SO (íó è ñåðâåðíûé âàðèàíò), à Cookies íóæíî áóäåò èññëåäîâàòü è ïîòèõîíüêó èñïîëüçîâàòü, à òàì è Àäîá åãî çàäîêóìåíòèðóåò.

Áûëî áû íåïëîõî ñðàâíèòü âîçìîæíîñòè Cookies è Shared Object.

Ïî ïîâîäó Cookies ÿ óæå íàïèñàë â äðóãîé òåìå:
/forum/index.php?s=&sho...findpost;&p;=2838
Rohan
similiar = áëèçêèé, ïîäîáíûé, òàê ÷òî íå òî æå smile.gif
Öèòàòà(MustLive @ 1.05.2006 - 03:23) *
Ïî ïîâîäó Cookies òû ìîã áû âïîëíå ïîäåëèòñÿ ñâîèìè çíàíèÿìè. Âåäü êëàññ íå äîêóìåíòèðîâàííûé.

ïæëñò:
Êîä
Cookie.setCookie ('<test>fckin cookie xml</test>');
var cxml:XML = Cookie.getCookie ();
cxml.ignoreWhite = true;
cxml.onLoad = function ():Void {
   trace ("content: " + this.childNodes);
};
- ïî ñóòè òî æå ñàìîå ÷òî è SharedObject, íî ðàáîòàåò ñ ÕÌËÿìè. Êàê ïî ìíå, èçíà÷àëüíî ïîÿâèëñÿ èìåííî ýòîò êëàññ, ò.ê. îí åñòü ìåíåå íàâîðî÷åííûì.
È âîîáùå, ASSetPropFlags - âî ôëåøå åùå ìíîãî âñåãî èíòåðåñíîãî... Êòî áû ýòîìó îïèñàíèå ïðèäóìàë? À òî âåäü ïîëîâèíà èç íåäîêóìåíòèðîâàííîãî ôèã çíàåò êàê ðàáîòàåò è äëÿ ÷åãî âîîáùå íóæíà...
MustLive
Öèòàòà(Rohan @ 1.05.2006 - 11:32) *
Êîä
Cookie.setCookie ('<test>fckin cookie xml</test>');
var cxml:XML = Cookie.getCookie ();
cxml.ignoreWhite = true;
cxml.onLoad = function ():Void {
   trace ("content: " + this.childNodes);
};
- ïî ñóòè òî æå ñàìîå ÷òî è SharedObject, íî ðàáîòàåò ñ ÕÌËÿìè. Êàê ïî ìíå, èçíà÷àëüíî ïîÿâèëñÿ èìåííî ýòîò êëàññ, ò.ê. îí åñòü ìåíåå íàâîðî÷åííûì.

Èíòåðåñíûé ïðèìåð wink.gif. Êàê ÿ ïèñàë ðàíåå, Cookie ýòîé íî÷üþ ÿ èññëåäîâàë (åãî XML ñóùíîñòü), è êîä íàïèñàë äëÿ èñïîëüçîâàíèÿ. Ïîêà íîâîãî òû íè÷åãî íå äîáàâèë, íî âñ¸ åù¸ âïåðåäè.

ignoreWhite - òîæå èíòåðåñíûé ìîìåíò. ß åãî â ñâî¸ì ïðèìåðå íå ïðèâ¸ë (â ïðèìåðå ÿ âîîáùå êóêèñ íå õìëüíûé èñïîëüçîâàë, òàê ÷òî ó òåáÿ ïðèìåð áîëåå ïðàâèëüíûé).

Áûëî áû èíòåðåñíåé ðàññìîòðåòü âàðèàíò áîëåå ñåðü¸çíîãî êóêèñà, ñ íåñêîëüêèìè xml-ïîëÿìè. È èõ ïåðåáîðîì.

Âîò ÷òî ÿ íàáðîñàë:
Êîä
myCookie = "<test>fckin cookie xml</test><test>fckin cookie xml2</test>";
Cookie.setCookie (myCookie);
var cxml:XML = Cookie.getCookie ();
cxml.ignoreWhite = true;
cxml.onLoad = function () {
    for (var aNode:XMLNode = this.firstChild; aNode != null; aNode = aNode.nextSibling) {
        trace(aNode);
    }
};

Çäåñü â ïëàíå ðàáîòû ñ XML ìîæíî ìíîãî ÷åãî èíòåðåñíîãî íàïðîãðàììèòü.
Öèòàòà
È âîîáùå, ASSetPropFlags - âî ôëåøå åùå ìíîãî âñåãî èíòåðåñíîãî... Êòî áû ýòîìó îïèñàíèå ïðèäóìàë? À òî âåäü ïîëîâèíà èç íåäîêóìåíòèðîâàííîãî ôèã çíàåò êàê ðàáîòàåò è äëÿ ÷åãî âîîáùå íóæíà...

È ýòè âñå íåçàäîêóìåíòèðîâàííûå è èíòåðåñíûå ìîìåíòû íóæíî èññëåäîâàòü è ïðîäåìîíñòðèðîâàòü øèðîêèì ñëîÿì ôëåø-ðàçðàáîò÷èêîâ.

È èññëåäîâàíèåì, ñòðóêòóðèðîâàííèåì è îïèñàíèåì ýòîãî âñåãî ìîã áû òû çàíÿòñÿ â òîì ÷èñëå - íàäåÿòñÿ íà äðóãèõ ñèëüíî íå ïðèõîäèòñÿ. Ìû áû ìîãëè ýòèì âìåñòå çäåñü íà ôîðóìå çàíÿòñÿ, ïî íåìíîãó íå ñïåøà, íî èññëåäîâàòü è ïîïóëÿðèçèðîâàòü undocumented âîçìîæíîñòè ôëåøà. À ïîïóëÿðèçèðîâàòü, ïîìèìî ÷òåíèÿ ïîñåòèòåëÿìè ñòðàíèö ôîðóìà, ìû ìîæåì â íàøåé ðàññûëêå, ãäå, êàê ÿ óæå ïèñàë, ÿ ïëàíèðóþ íà÷àòü öèêë ìàòåðèàëîâ ïî SharedObject, à òàêæå ïî Cookie. Òàì æå ìîæíî è äðóãèå èíòåðåñíîñòè ðàññìîòðåòü.

Òàêæå ÿ ó ìåíÿ åñòü ïëàíû ïîìèìî undocumented, ðàññìàòðèâàòü äðóãèå èíòåðåñíûå (íåñòàíäàðòíûå, ìàëîèçâåñòíûå, õîòÿ è äîêóìåíòèðîâàííûå, íî íå÷àñòî èñïîëüçóåìûå) àñïåêòû ïðèìåíåíèÿ Action Script. Ñäåëàþ ðàçäåë Flash for Advanced Use (Ôëåø äëÿ ïðîäâèíóòûõ). Òàê ÷òî ïðîäâèãàòü â ìàññû âîçìîæíîñòü åñòü (èíñòðóìåíò), îñòàëîñü ëèøü ìàòåðèàë ïîäãîòàâëèâàòü.
MustLive
Äàëüíåéøàÿ äèñêóññèÿ î Shared Object è Cookie âûíåñåíà â îòäåëüíóþ òåìó:
/forum/index.php?showtopic=506
JoyStick
Shared object ÿ èñïîëüçóþ äàâíî è ïðèáëèçèòåëüíî ïîíÿë êàê íàéòè ñàìè ôàéëû íà êîìïüòåðå, íî âîò ãäå îíè õðàíÿòñÿ íà ñìàðòôîíå ñ FlashLite 2 ïëååðîì, â êîòîðîì òàê æå ÷óäåñíî ðàáîòàþò - çàãàäêà huh.gif
MustLive
Öèòàòà
Shared object ÿ èñïîëüçóþ äàâíî è ïðèáëèçèòåëüíî ïîíÿë êàê íàéòè ñàìè ôàéëû íà êîìïüòåðå

JoyStick

Íà êîìïüþòåðàõ ñ ÎÑ Windows 2000 / XP øàðåä îáúåêòû ñîõðàíÿþòñÿ â ïàïêå ïîëüçîâàòåëÿ - Ñèñòåìíûé äèñê:\Documents and Settings\Èìÿ ïîëüçîâàòåëÿ\Application Data\Macromedia\Flash Player\.

Ïðè÷¸ì äëÿ ðàçíûõ âåðñèé ôëåø ïëååðà ïóòü îòëè÷àåòñÿ (â ïàïêå Flash Player), î ÷¸ì ÿ ïèñàë â ñòàòüå Ñîõðàíåíèå äàííûõ âî ôëåø íà ëîêàëüíûé êîìïüþòåð â 12 íîìåðå íàøåé ðàññûëêè.

Öèòàòà
íî âîò ãäå îíè õðàíÿòñÿ íà ñìàðòôîíå ñ FlashLite 2 ïëååðîì

Ïîèùè âíèìàòåëüíî íà ñìàðòôîíå è íàéä¸øü ïàïêó ñ øàðåäàìè. Ïîèùè å¸ èëè óòèëèòàìè íà ñìàðòôîíå èëè ïîäêëþ÷è ê ÏÊ è ñïåöèàëüíûìè óòèëèòàìè (÷òî áîëåå óäîáíî) èññëåäóé ñâîé ñìàðòôîí.
Ðóññêàÿ âåðñèÿ IP.Board © 2001-2009 IPS, Inc.