Flash Zone Forum > ïåðåäà÷à ïàðàìåòðîâ
Ïîìîùü · Ïîèñê · Ïîëüçîâàòåëè · Êàëåíäàðü
Ïîëíàÿ âåðñèÿ ýòîé ñòðàíèöû: ïåðåäà÷à ïàðàìåòðîâ
Flash Zone Forum > Macromedia Flash > Îáùèå âîïðîñû
s8000_1
Èòàê, ó ìåíÿ íåñêîëüêî âîïðîñîâ.
1) âîçìîæíî ëè ïðèñâîèòü ïåðåìåííóþ òèïà Number ïî ññûëêå? Õî÷ó, ÷òîáû
Êîä

var x:Number = new Number(5);
var y:Number = x;
y=6;
trace(x);

âûâîäèëî "6"; òàêàÿ øòóêà ïðîõîäèò, åñëè íå èñïîëüçîâàòü Number, à èñïîëüçîâàòü Object:
Êîä

x=5;
var y:Object = this;
y.x=6;
trace(x);


2) êàê îáðàáîò÷èêó ñîáûòèé ïðèñâîèòü èìÿ ôóíêöèè áûñòðî, à èìåííî õî÷åòñÿ, ÷òîáû ðàáîòàë ïðèìåðíî ñëåäóþùèé êîä
Êîä

onEnterFrame = myFunction();

function myFunction(){
...
}
tiHo
1. âîîáùå õç çà÷åì òåáå åòî smile.gif íî ðàç òû äåëàåø æåñòêóþ òèïèçàöèþ òî íåíóæíî ÿ äóìàþ ïèñàòü new Number();

2. à øòî ðàçâå íåðàáîòàåò? ÿ òàê âñåãäà äåëàþ. ïðàâäà åñëè ïàðàìåòðîâ íåòó òî è ñêîáêè íå ïèøó:

Êîä
_root.onEnterFrame=myFunction;
s8000_1
Öèòàòà(tiHo @ 23.02.2007 - 01:10) *

2. à øòî ðàçâå íåðàáîòàåò? ÿ òàê âñåãäà äåëàþ. ïðàâäà åñëè ïàðàìåòðîâ íåòó òî è ñêîáêè íå ïèøó:

Êîä
_root.onEnterFrame=myFunction;



î, ñïàñèáî! íàäî áûëî âñåãî ëèøü óáðàòü ñêîáî÷êè smile.gif

à íàñ÷åò ï.1 - íå ïàøåò... íàäî ýòî ìíå äëÿ òîãî, ÷òîáû ïåðåìåííóþ ïåðåäàòü â êîìïîíåíòó ïî ññûëêå
tiHo
1. íó åñëè ÷åñíî ïîìî÷ íåìîãó

2. íàçäîðîâüå smile.gif
s8000_1
À åùå îäèí íóáñêèé âîïðîñ: âîçìîæíî ëè çàñòàâèòü ôëýø âûïîëíÿòü êàêóþ-íèòü ôóíêöèþ ïðè âûõîäå èç ïðîèãðûâàòåëÿ? Íàïðèìåð, ïîëüçîâàòåëü çàêðûë îêíî áðîóçåðà, ïðè ýòîì íàäà, ÷òîáû ôëýø îòîñëàë ïõï çàïðîñ.
nikitar
Öèòàòà
À åùå îäèí íóáñêèé âîïðîñ: âîçìîæíî ëè çàñòàâèòü ôëýø âûïîëíÿòü êàêóþ-íèòü ôóíêöèþ ïðè âûõîäå èç ïðîèãðûâàòåëÿ? Íàïðèìåð, ïîëüçîâàòåëü çàêðûë îêíî áðîóçåðà, ïðè ýòîì íàäà, ÷òîáû ôëýø îòîñëàë ïõï çàïðîñ.

Îêíî áðàóçåðà íèêàê íå ñâÿçàíî ñ ôëýøîì. Ïîýòîìó öåëåñîîáðàçíî äåëàòü îáðàáîò÷èê äàííîãî ñîáûòèÿ íà javascript'e.
MustLive
s8000_1

Òû íå ñîâñåì êîððåêòíî ïîñòàâèë âîïðîñ.

Ðå÷ü èä¸ò î ôëåøå èëè î áðàóçåðå (â êîòîðîì çàãðóæåíà ñòðàíèöà ñ ôëåøêîé)?  ðàçíûõ ñëó÷àÿõ ðàçíûå ïîäõîäû, íà óðîâíå ñàìîãî ôëåøà èëè íà óðîâíå áðàóçåðà.

Ê ïðèìåðó, åñëè ó òåáÿ îòäåëüíàÿ ôëåøêà â âèäå exe ôàéëà èëè swf ôàéëà êîòîðûé ïðîèãðûâàåòñÿ â ñòàöèîíàðíîì ïëååðå. Òî íà ñàìó ôóíêöèþ çàêðûòèÿ îêíà ôëåøêè (ïëååðà) òû íå ñìîæåøü ïîñòàâèòü îáðàáîò÷èê. Ò.å. çàäà÷à íå ðåøàåòñÿ. À âîò åñëè ñäåëàòü ñàìîìó êíîïêó "çàêðûòü" (íà êîòîðóþ âåøàåòñÿ îáðàáîò÷èê è êîä çàêðûòèÿ, êîòîðûé ìíîæåñòâî ðàç îáñóæäàëñÿ íà ôîðóìå). Òî òû ïîìèìî ñàìîãî êîäà çàêðûòèÿ îêíà òàêæå ïèøåøü êîä îòïðàâêè äàííûõ ïõï-ñêðèïòó.

 ñëó÷àå õòìë ñòðàíèöû - òî òàì äðóãîé ïîäõîä (è ýòî óæå îòíîñèòñÿ ê áðàóçåðó è ê ôëåøó âîîáùå îòíîøåíèÿ íå èìååò). Äëÿ ýòîãî íóæíî èñïîëüçîâàòü ñâîéñòâî html (äëÿ òåãà áîäè) onUnload - çíàíèÿ õòìë (à òàêæå ÿâà-ñêðèïòà äëÿ íàïèñàíèÿ íåîáõîäèìîãî êîäà) âåñüìà ïðèãîäÿòñÿ.

 òåëî ñòðàíèöû (ñ ôëåøêîé èëè áåç ôëåøêè, áåç ðàçíèöû, â ëþáîé íóæíîé ñòðàíèöå) âñòàâëÿåøü ñëåäóþùèé êîä:
Êîä
<body onUnload="sendToPHP()">

È â òåëå îïèñûâàåøü ñâîþ ôóíêöèþ sendToPHP, êîòîðàÿ è áóäåò îòïðàâëÿòü ïõï-ñêðèïòó äàííûå.

 ñëó÷àå åñëè æå swf-øêà çàïóñêàåòñÿ áåç õòìë ñòðàíèöû íàïðÿìóþ â îêíå áðàóçåðà, òî ýòîò âàðèàíò íå ïîìîæåò. Çäåñü èñïîëüçóþòñÿ âîçìîæíîñòè õòìë (è ñàìîãî áðàóçåðà).
s8000_1
nikitar, MustLive, ñïàñèáî çà îòâåòû, ïîíÿë, ÷òî áåç ðåäàêòèðîâàíèÿ õòìë òóò íå îáîéòèñü. Îäíàêî, ìíå èìåííî íóæíî, ÷òîáû ôëýø îòñûëàë çàïðîñ ïðè íåîæèäàííîì çàêðûòèè îêíà áðîóçåðà, êîòîðûé ïîêàçûâàåò ýòó ôëýøêó. Âîçìîæíîñòè èçìåíÿòü ñàìó õòìë ñòðàíèöó ó ìåíÿ íåò, ïîýòîìó âûõîä íàøåë áîëåå õèòðûé - îòñûëàþ "ñîõðàíÿþùèå" çàïðîñû ÷åðåç îïðåäåëåííûå ïðîìåæóòêè âðåìåíè.
MustLive
Öèòàòà
ñïàñèáî çà îòâåòû, ïîíÿë, ÷òî áåç ðåäàêòèðîâàíèÿ õòìë òóò íå îáîéòèñü. Îäíàêî, ìíå èìåííî íóæíî, ÷òîáû ôëýø îòñûëàë çàïðîñ ïðè íåîæèäàííîì çàêðûòèè îêíà áðîóçåðà, êîòîðûé ïîêàçûâàåò ýòó ôëýøêó.

s8000_1, âñåãäà ïîæàëóéñòà.

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

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

Öèòàòà
1) âîçìîæíî ëè ïðèñâîèòü ïåðåìåííóþ òèïà Number ïî ññûëêå?

Âîïðîñ èíòåðåñíûé. Ñàì ñ òàêèì íå ñòàëêèâàëñÿ.

Òî ÷òî òåáå íóæíî ïåðåìåííóþ ïåðåäàòü â êîìïîíåíòó ïî ññûëêå, ýòî êîíå÷íî õîðîøî. Òàê òû ïåðåäàé ÷åðåç ôóíêöèþ. Ò.å. èùè îáõîäíûå ïóòè. Ñàì ÿ ñîçäàíèåì êîìïîíåíòîâ çàíèìàëñÿ ìèíèìàëüíî, è ñ òàêèìè ïðîáëåìàìè íå ñòàëêèâàëñÿ.  äàííîì ñëó÷àå òåáå ìîæåò ïîìî÷ü ÷òåíèå õåëïà.

Ìîæåøü êîíå÷íî âìåñòî Number èñïîëüçîâàòü Object. Èëè èùè äðóãèå ïóòè. Êàê âàðèàíò, åñëè íè÷åãî íå ïîëó÷èòñÿ, ïîèùè ïðèìåðû (èñõîäíèêè) êîìïîíåíòîâ è èçó÷è ìåòîäèêó ïåðåäà÷è Number ïåðåìåííûõ.

Öèòàòà
2) êàê îáðàáîò÷èêó ñîáûòèé ïðèñâîèòü èìÿ ôóíêöèè áûñòðî, à èìåííî õî÷åòñÿ, ÷òîáû ðàáîòàë ïðèìåðíî ñëåäóþùèé êîä

Êàê óæå òåáå ñêàçàë Ñàíÿ, ñêîáêè íå ïèøè è âñ¸ çàðàáîòàåò. ×òåíèå õåëïà âåñüìà ìîãëî òåáå ïðèãîäèòñÿ. Î ïîäîáíûõ ôóíêöèÿõ íà ôîðóìå ìû ìíîãîêðàòíî ïèñàëè.
Ðóññêàÿ âåðñèÿ IP.Board © 2001-2008 IPS, Inc.