Flash Zone Forum > Íå ñðàáàòûâàåò îáðàáîò÷èê ñîáûòèÿ :(
Ïîìîùü · Ïîèñê · Ïîëüçîâàòåëè · Êàëåíäàðü
Ïîëíàÿ âåðñèÿ ýòîé ñòðàíèöû: Íå ñðàáàòûâàåò îáðàáîò÷èê ñîáûòèÿ :(
Flash Zone Forum > Macromedia Flash > ActionScript
sad1st
Êîä
_root.createEmptyMovieClip( 'newMovie', 0 );
_root['newMovie'].onData = function() {
   // some code...
}
_root['newMovie'].loadMovie("load.swf");


Òàê âîò ïðîáëåìà â òîì ÷òî íå ñðàáàòûâàåò îáðàáîò÷èê ñîáûòèÿ... dry.gif
Rohan
You can use this handler only with the MovieClip.loadVariables() method or the loadVariables() global function. If you want an event handler to be invoked with MovieClip.loadMovie() method or the loadMovie() function, you must use onClipEvent(data) instead of this handler.
tiHo
íåçíàþ ÷òî òàì Ðîõàí íàïèñàë, íàâåðíî ñóðîâóþ ïðàâäó smile.gif

ïîïðîáóé íàïèøè áåç êâàäðàòíûõ ñêîáîê:

Êîä
_root.createEmptyMovieClip( 'newMovie', 0 );
_root.newMovie.onData = function() {
   // some code...
}
_root.newMovie.loadMovie("load.swf");


à åñëè òàê íåïîëó÷èòñÿ, òî onData çàìåíè íà onLoad

à åñëè òàê íåïîëó÷èòñÿ, òî ÿ óìûâàþ ðóêè smile.gif
MustLive
Öèòàòà
ïîïðîáóé íàïèøè áåç êâàäðàòíûõ ñêîáîê:

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

Íó à Ðîõàí íàïèñàë òî ÷òî íóæíî áûëî ñäåëàòü - ïðî÷èòàòü õåëï. ×òîáû çíàòü, ÷òî â äàííîì ñëó÷àå ïîäîáíûå îáðàáîò÷èêè íå èñïîëüçóþòñÿ.

È Ðîõàí ïðîöèòèðîâàë íóæíûé àáçàö èõ Õåëïà, íà êîòîðûé sad1st íóæíî îáðàòèòü âíèìàíèå, ÷òîáû äîáèòñÿ æåëàåìîé ôóíêöèîíàëüíîñòè - ÷òîáû îáðàáîò÷èê ñðàáîòàë. Äëÿ MovieClip.loadMovie() è loadMovie() íóæíî èñïîëüçîâàòü onClipEvent(data). È âñ¸ áóäåò ðàáîòàòü êàê íóæíî.
nikitar
Öèòàòà
onClipEvent(data).

Ìû ïðî êàêîé flash ãîâîðèì?
Ýòîò ìåòîä óæå ïðèçíà¸òñÿ óñòàðåâøèì, òàê êàê ñåé÷àñ âñå íà ÎÎÏ ïåðåõîäÿò.
sad1st
Êîä
MovieClip.onData
Öèòàòà
Ñèíòàêñèñ

myMovieClip.onData
Ïàðàìåòðû

Íåò.

Âîçâðàùàåò

Íè÷åãî.

Îïèñàíèå

Îáðàáîò÷èê ñîáûòèÿ, íàñòóïàåò ïðè ïîëó÷åíèè äàííûõ, âûçâàííûõ ìåòîäàìè loadVariables èëè loadMovie .

Âû äîëæíû îïðåäåëèòü ôóíêöèþ, êîòîðàÿ âûïîëíèòñÿ ïî íàñòóïëåíèþ ýòîãî ñîáûòèÿ.

Ïðèìåð

Ñëåäóþùèé ïðèìåð îïðåäåëÿåò ôóíêöèþ äëÿ ìåòîäà onData, êîòîðàÿ âûâåäåò ñîîáùåíèå onData called â îêíî Output:

myMovieClip.onData = function () {
trace ("onData called");
};


Âîò òàê âîò...
Íà ñêîëüêî ÿ ïîíÿë íå ñðàáàòûâàåò îí ïîòîìó ÷òî, âñå ñâîéñâîéñòâà ïðîãðàìíî ñîçäàíîãî êëèïà (â äàííîì ñëó÷àå
Êîä
_root.createEmptyMovieClip( 'newMovie', 0 );
) îáíóëÿþòñÿ... Òîåñòü ñâîéñòâî onData òîæå îáíóëÿåòñÿ...

È âîò òåïåðü âîïðîñ ïåðåðîñòàåò ïëàâíî... Â òî... êàê ýòîãî èçáåæàòü =)

Öèòàòà
Ìû ïðî êàêîé flash ãîâîðèì?

Ïðî 8-îé!
nikitar
Ñëóøàé òàê ó òåáÿ âñ¸ áàíàëüíî smile.gif
Ñíà÷àëà òû ñîçäà¸øü ìóâèêëèï, â íåãî ãðóçèøü äðóãîé.
Òàê ïî÷åìó æå ó òåáÿ ïðîâåðêà íà çàãðóçêó èä¸ò ïåðåä òåì êàê òû ñàì êëèï çàãðóæàåøü?
Ñíà÷àëà íóæíî ñîçäàòü ìóâèêëèï, ïîòîì â íåãî çàãðóçèòü, ïîòîì óæå ïðîâåðêó ïîñòàâèòü.
È ïîïðîáóé íà âñÿêèé ñëó÷àé âìåñòî onData, onLoad - ìíå êàæåòñÿ ýòî áîëåå ïðèåìëåìî.
sad1st
Öèòàòà(nikitar @ 23.11.2006 - 13:24) *
Ñëóøàé òàê ó òåáÿ âñ¸ áàíàëüíî smile.gif
Ñíà÷àëà òû ñîçäà¸øü ìóâèêëèï, â íåãî ãðóçèøü äðóãîé.
Òàê ïî÷åìó æå ó òåáÿ ïðîâåðêà íà çàãðóçêó èä¸ò ïåðåä òåì êàê òû ñàì êëèï çàãðóæàåøü?
Ñíà÷àëà íóæíî ñîçäàòü ìóâèêëèï, ïîòîì â íåãî çàãðóçèòü, ïîòîì óæå ïðîâåðêó ïîñòàâèòü.
È ïîïðîáóé íà âñÿêèé ñëó÷àé âìåñòî onData, onLoad - ìíå êàæåòñÿ ýòî áîëåå ïðèåìëåìî.


Ãäå ó ìåíÿ òàì ïðîâåðêà?.... Ïîìîåìó ÿ öåïëÿþ ôóíöèþ íà îáðàáîò÷èê ñîáûòèÿ... òàê ÷òî ïîôèã ãäå ÿ å¸ íàïèøó... îíà äîëæíà ñðàáîòàòü êîãäà ìóâèê ïîäãðóçèòñÿ....
Íî ïðîáëåìà â òîì, ÷òî ïðè ïîäãðóçêå âñå ñâîéñòâà êàê è îáðàáîò÷èêè ñîáûòèé îáíóëÿþòñÿ!
Rohan
Íó à ÷å òû õîòåë???
Êîä
Using event handlers with MovieClip.loadMovie() can be unpredictable. If you attach an event handler to a button by using on(), or if you create a dynamic handler by using an event handler method such as MovieClip.onPress(), and then you call loadMovie(), the event handler does not remain after the new content is loaded. However, if you attach an event handler to a movie clip by using onClipEvent() or on(), and then call loadMovie() on that movie clip, the event handler remains after the new content is loaded.

ÿ æ ïèñàë óæå îá ýòîì - ìîæåøü âîñïîëüçîâàòüñÿ onClipEvent åñëè òåáå î÷åíü íàäî, íî ÿ áû íå ñîâåòîâàë - ëó÷øå äåëàé òàê:
Êîä
_root.createEmptyMovieClip( 'newMovie', 0 );
var dataListener:Object = {};
dataListener.onLoadStart = function(mc:MovieClip){
    trace("loading to "+mc+" started...");
}
var mcLoader:MovieClipLoader = new MovieClipLoader();
mcLoader.addListener(dataListener);
mcLoader.loadClip("anim.swf",_root["newMovie"]);
Ðóññêàÿ âåðñèÿ IP.Board © 2001-2009 IPS, Inc.