Flash Zone Forum > Êàïëè äîæäÿ
Ïîìîùü · Ïîèñê · Ïîëüçîâàòåëè · Êàëåíäàðü
Ïîëíàÿ âåðñèÿ ýòîé ñòðàíèöû: Êàïëè äîæäÿ
Flash Zone Forum > Macromedia Flash > ActionScript
Rotwang
Íàøåë âèäåîðîê, òàì íåïëîõîé äîæäü àíèìèðóåòñÿ ïðîãðàììíî, èìïîðòèðóÿ êëàññ Tween. Ðåøèë ïîâòîðèòü ýòî äåëî íà AS3, è îáëîì mad.gif . Àâòîð âèäåîóðîêà äåëàåò òàêæå âíóòðåííþþ àíèìàöèþ êàïëè, êîãäà îíà ðàçáèâàåòñÿ î çåìëþ. Íî ìíå ýòî íå íóæíî, à ïðîñòî íàäî, ÷òîáû êàïëè ïîÿâëÿëèñü, ïðîëåòàëè îïðåäåëåííîå ðàññòîÿíèå è èñ÷åçàëè.
Àâòîð èñïîëüçóåò êîä
Êîä
stop();


X_start_point = random(750);
X_finish_point =  X_start_point + 30;

//random variable for finishing point (distance down the Y axis)
Y_finish_point = random(300) + 150;
///random variable for the length of decent (i.e. time of the animation in frames per second)
length_time = random(5) + 12;


import mx.transitions.Tween;
import mx.transitions.easing.*

new Tween( this, "_x" , None.easeNone , X_start_point, X_finish_point, length_time, false);

var particle_event:Object =  new Tween( this, "_y" , None.easeNone , 0, Y_finish_point, length_time, false);
particle_event.onMotionFinished = function(){
    
    // when the animation is finished, this timeline will "wait" on frame 2, untill prompted to come back to frame 1
    gotoAndStop(2);
    ///random variable used to determine which impact to play
    impact_var = random(3);
    
    if (impact_var == 0){
    particle.gotoAndPlay("impact1");
    }
    if (impact_var == 1){
    particle.gotoAndPlay("impact2");
    }
    if (impact_var == 2){
    particle.gotoAndPlay("impact3");
    }
    
}


À ÿ äåëàþ òàê
Êîä
import fl.transitions.Tween;
import fl.transitions.easing.*;


var X_start_point:Number = 0;
var X_finish_point =  X_start_point + 200;

var Y_finish_point:Number = 800

var length_time:Number = 100;

new Tween( this, "_x" , None.easeNone , X_start_point, X_finish_point, length_time, false);
var particle_event:Object =  new Tween( this, "_y" , None.easeNone , 0, Y_finish_point, length_time, false);


Âîò â àðõèâå 2 ôàéëà - ìîé è àâòîðñêèé. Ïîãëÿäèòå, ïîæàëóéñòà. Íàæìèòå äëÿ ïðîñìîòðà ïðèêðåïëåííîãî ôàéëà
Ìíå ãëàâíîå íåïîíÿòíî - êàê ïðèñâîèòü ìóâèêó äâèæåíèå, îïèñûâàåìîå â Tween.
chingachgoog
Õå.
Ñêàæó ÷åñòíî. Íèêîãäà ýòîò êëàññ íå èñïîëüçîâàë è äàæå ïîíÿòèÿ íå èìåþ êàê îí ðàáîòàåò (õîòÿ êîäà ñ òâèíàìè ïåðåïðàâèë ìíîãî).
Âñåãäà äåëàë ñâîé êîíêðåòíî-óïðàâëÿþùèé êîä ÷åðåç onEnterFrame, íàïðèìåð. Óñêîðåíèå ïðè ýòîì áóäåò ðàáîòàòü èìåííî òàê, êàê õî÷ó ÿ (âïëîòü äî ýôôåêòà "æåëå").
Èëè èñïîëüçîâàë ðó÷íûå òâèíû (òàì óñêîðåíèå ìîæíî îïèñàòü ãðàôèêîì - íàâðÿäëè òàêîå ìîæíî ñäåëàòü êëàññîì òâèíîâ ïðîãðàììíî).
Rotwang
Ðåøèë ïîéòè äðóãèì ïóòåì. Äîæäü ñîçäàþ òàêèì ñïîñîáîì:
Êîä
var freqinms = 100 //×àñòîòà ïîÿâëåíèÿ íîâûõ êàïåëü
var mytimer:Timer = new Timer(freqinms, 50);
mytimer.addEventListener(TimerEvent.TIMER, makeRain);
mytimer.start();

function makeRain(event:TimerEvent) {

    var drop:Clip = new Clip();  //Drop - èìÿ êëàññà êàïëè
    drop.x = Math.random() * this.stage.stageWidth;
    drop.y = Math.random() * this.stage.stageHeight;
    this.addChild(drop);

}

Clip - ñâÿçàííûé êëàññ ìóâèêà, èìèòèðóþùåãî êàïëþ. Íî âîò íåçàäà÷à - äîæäü âìåñòî òîãî ÷òîáû èäòè ðàâíîìåðíî, ïîñòåïåííî íàðàñòàåò, è, â êîíöå êîíöîâ ôëåøêà íà÷èíàåò òîðìîçèòü. Êàêîå ðåøåíèå, ìîæåò áûòü, ïîðåêîìåíäóåòå?
chingachgoog
Öèòàòà(Rotwang @ 11.05.2009 - 17:01) *
Íî âîò íåçàäà÷à - äîæäü âìåñòî òîãî ÷òîáû èäòè ðàâíîìåðíî, ïîñòåïåííî íàðàñòàåò, è, â êîíöå êîíöîâ ôëåøêà íà÷èíàåò òîðìîçèòü.


À ïî÷åìó äîæäü äîëæåí èäòè ðàâíîìåðíî? Âû æå ïî îäíîé êàïëå äîáàâëÿåòå êàæäûå 100 ìñ è òàê 50 ðàç. Âîò äîæäü è íàðàñòàåò.
Åñëè õîòèòå ðàâíîìåðíûé äîæäü - âûñòàâüòå âñå êàïëè íà ñòåéäæ ñðàçó.

Âîçìîæíî ÷òî è êîä mytimer.start() ïîâòîðÿåòñÿ (åñëè îí íàïèñàí â îäíîì èç ôðåéìîâ òàéìëàéíà). Òîãäà êàïåëü áóäåò íå 50 à ãîðàçäî áîëüøå smile.gif
Òóò òîðìîçà íåèçáåæíû. Íî åñëè êàïåëü âñåãî 50 è îíè òîðìîçÿò - òî íàäî ñìîòðåòü àíèìàöèþ è ïðî÷èé êîä - ïðè÷èí äëÿ òîðìîçîâ â ïðèâåäåííîì êóñêå êîäà íåò.
Rotwang
Öèòàòà(chingachgoog @ 12.05.2009 - 12:06) *
Âîçìîæíî ÷òî è êîä mytimer.start() ïîâòîðÿåòñÿ (åñëè îí íàïèñàí â îäíîì èç ôðåéìîâ òàéìëàéíà). Òîãäà êàïåëü áóäåò íå 50 à ãîðàçäî áîëüøå smile.gif

Äà, òàê è åñòü, êîä íà ïåðâîì êàäðå. È îí, âèäèìî, ïîâòîðÿåòñÿ. Êàê æå èñïðàâèòü, êóäà åãî åùå ìîæíî íàïèñàòü? Ìîæåò, åñòü âîçìîæíîñòü êàæäûé ðàç åãî ñíîâà çàïóñêàòü? Ïóñòü íàðàñòàåò òîëüêî â òå÷åíèå 1 öèêëà, ïîêà ïðîéäåò âåñü Timeline, à ñ ïåðâîãî êàäðà ÷òîáû ñíîâà íà÷èíàëñÿ.

Öèòàòà
Åñëè õîòèòå ðàâíîìåðíûé äîæäü - âûñòàâüòå âñå êàïëè íà ñòåéäæ ñðàçó.

Ýòî ìíå, çíà÷èò, íàäî 50 ýêçåìïëÿðîâ Clip âûëîæèòü èç áèáëèîòåêè íà ñöåíó è â ðàçíûõ ìåñòàõ ðàññòàâèòü?
chingachgoog
Öèòàòà(Rotwang @ 12.05.2009 - 14:41) *
Äà, òàê è åñòü, êîä íà ïåðâîì êàäðå. È îí, âèäèìî, ïîâòîðÿåòñÿ. Êàê æå èñïðàâèòü, êóäà åãî åùå ìîæíî íàïèñàòü? Ìîæåò, åñòü âîçìîæíîñòü êàæäûé ðàç åãî ñíîâà çàïóñêàòü?


Íå ïîíèìàþ. Âñåãî íà òàéìëàéíå ñêîëüêî êàäðîâ?

Öèòàòà(Rotwang @ 12.05.2009 - 14:41) *
Ïóñòü íàðàñòàåò òîëüêî â òå÷åíèå 1 öèêëà, ïîêà ïðîéäåò âåñü Timeline, à ñ ïåðâîãî êàäðà ÷òîáû ñíîâà íà÷èíàëñÿ.


×òîáû íà÷èíàëîñü âñå ñíîâà, íàäî ñíà÷àëà âñå ñòàðûå ìóâèêè óáèòü.

Öèòàòà(Rotwang @ 12.05.2009 - 14:41) *
Ýòî ìíå, çíà÷èò, íàäî 50 ýêçåìïëÿðîâ Clip âûëîæèòü èç áèáëèîòåêè íà ñöåíó è â ðàçíûõ ìåñòàõ ðàññòàâèòü?


Íó äà, à â ÷åì ïðîáëåìà? Èëè âû èõ âðó÷íóþ ñîáðàëèñü ðàññòàâëÿòü? biggrin.gif
Rotwang
Öèòàòà
Âñåãî íà òàéìëàéíå ñêîëüêî êàäðîâ?

2704 blink.gif Äåëî â òîì, ÷òî òàì åùå äðóãàÿ àíèìàöèÿ, êàïëÿ âîäû íà ñòåêëå.

Öèòàòà
Èëè âû èõ âðó÷íóþ ñîáðàëèñü ðàññòàâëÿòü?

×åðåç new Clip?

Öèòàòà
íàäî ñíà÷àëà âñå ñòàðûå ìóâèêè óáèòü.

Îñòîðîæíî ñïðîøó: à êàê ýòî? unsure.gif
chingachgoog
Öèòàòà(Rotwang @ 12.05.2009 - 15:15) *
2704


Íó è âûõîäèò. ×òî â ïåðâîì êàäðå ñðàáàòûâàåò êîä ñ òàéìåðîì. Ïðîõîäèò 2704 êàäðà è ýòîò êîä ñ òàéìåðîì ñðàáàòûâàåò ïîâòîðíî. Ñàì ñîáîé.

Öèòàòà(Rotwang @ 12.05.2009 - 15:15) *
×åðåç new Clip?


Ïðîñòî âìåñòî öèêëà ñ òàéìåðîì (ðàñòÿíóòîãî ïî âðåìåíè ïî òàéìëàéíó) ñäåëàéòå öèêë îäíîãî êàäðà (for, íàïðèìåð)

Öèòàòà(Rotwang @ 12.05.2009 - 15:15) *
Îñòîðîæíî ñïðîøó: à êàê ýòî? unsure.gif


À êàê âû ñîçäàåòå ìóâèê? Êîíãðóýíòíî ýòîìó åñòü è óáèâàëêà - removeChild.

add:

Íàäî òîëüêî ïîìíèòü ïðî çàñàäó ñ óäàëåíèåì èç DisplayObjectContainer è ñáîðêîé ìóñîðà (ñì. ï.9). Ñïàñèáî AVM2.
Rotwang
Öèòàòà
Ïðîñòî âìåñòî öèêëà ñ òàéìåðîì (ðàñòÿíóòîãî ïî âðåìåíè ïî òàéìëàéíó) ñäåëàéòå öèêë îäíîãî êàäðà (for, íàïðèìåð)

Êîä
for(var i:int = 0; i<100; i++){
    var drop:Clip = new Clip();
    drop.x = Math.random() * this.stage.stageWidth;
    drop.y = Math.random() * this.stage.stageHeight;
    this.addChild(drop);

Íî êàê æå âñå-òàêè óáèâàëêó ñäåëàòü? Åñëè íàïèñàòü â ïîñëåäíèé êàäð this.removeChild(drop) òî íè÷åãî íå ïðîèñõîäèò, à åñëè ÿ ïèøó ñî ñ÷åò÷èêîì:
Êîä
for(var i:int = 0; i<100; i++){
       this.removeChild(drop);
}
, òî ïîëó÷àåòñÿ A conflict exists with definition i in namespace internal. ohmy.gif
chingachgoog
Ó âàñ ìóâèê äåëàåòñÿ àíîíèìíî, ò.å. ïðîñòî êàê new Clip(), ñîîòâåòñòâåííî îí ïîëó÷àåò èìÿ àâòîìàòè÷åñêè òèïà instanceXXX.
Óáèòü ìîæíî ïî ññûëêå íà ìóâèê, ïî åãî èìåíè èëè ïî ãëóáèíå.
Ðàç âû âñå ðàâíî äåëàåòå ëîêàëüíóþ ññûëêó var drop:Clip, òî è çàíîñèòå åå â êàêîé-íèáóäü ìàññèâ, à ïîòîì áåðèòå îòòóäà ññûëêó è óáèâàéòå ñàì ìóâèê èç DisplayObjectContainer êîìàíäîé removeChild, à ïîòîì è ñàìó ññûëêó êîìàíäîé delete.
Rotwang
Öèòàòà(chingachgoog @ 13.05.2009 - 19:46) *
Ðàç âû âñå ðàâíî äåëàåòå ëîêàëüíóþ ññûëêó var drop:Clip, òî è çàíîñèòå åå â êàêîé-íèáóäü ìàññèâ

chingachgoog, âû èìååòå â âèäó ïîìåñòèòü âñå ìóâèêè â îäèí ìàññèâ? ß äåëàþ òàê:
Êîä
for(var i:int = 0; i<3; i++){
    var drop:Clip = new Clip();  //Drop - èìÿ êëàññà êàïëè
    drop.x = Math.random() * this.stage.stageWidth;
    drop.y = Math.random() * this.stage.stageHeight;
    this.addChild(drop);
    var array:Array = new Array(drop);
    trace(array);
    trace(array.length);
]
è ó ìåíÿ ñîçäàåòñÿ ñòîëüêî ìàññèâîâ, ñêîëüêî ìóâèêîâ, ò.å. 100. Ìíå òåïåðü èõ íóæíî êàê-òî îáúåäèíèòü â îäèí, èëè ÷òî?
chingachgoog
Ìóâèêè ìîæíî ïîìåñòèòü òîëüêî â îäèí "ìàññèâ" - DisplayObjectContainer smile.gif
À âàì íàäî ïîìåñòèòü â ìàññèâ ññûëêè íà ìóâèêè.
×òî-òî òèïà:
Êîä
var array=[]
for(var i:int = 0; i<3; i++){
    ...
    var drop:Clip = new Clip();  //Drop - èìÿ êëàññà êàïëè
    array.push(drop)
...


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

Rotwang
Òîãäà ñîçäàåòñÿ 3 ìàññèâà, íî ñ ðàçíûì ÷èñëîì ýëåìåíòîâ
Êîä
[object Clip]
[object Clip],[object Clip]
[object Clip],[object Clip],[object Clip]
À íàäî âåäü, ÷òîáû â êàæäîì ìàññèâå áûë òîëüêî 1 ýëåìåíò?


Âðîäå, ðàçîáðàëñÿ! Äåëàþ âîò ÷òî äëÿ ñîçäàíèÿ ìàññèâà:
Êîä
var array:Array=new Array();
array = [];
for(var i:int = 0; i<20; i++){
    var drop:Clip = new Clip();  //Drop - èìÿ êëàññà êàïëè
    array.push(drop);
    drop.x = Math.random()* this.stage.stageWidth;
    drop.y = Math.random()* this.stage.stageHeight;
    this.addChild(drop);
    trace(array[i]);

äëÿ óäàëåíèÿ:
Êîä
for(var i:int = 0; i<20; i++){
        this.removeChild(array[i]);
    }
Òàê?
Âîò òîëüêî íå çíàþ, ÷òî ýòî çà êîíñòðóêöèÿ - array = []; smile.gif
chingachgoog
Rotwang, ïîïðîáóéòå ðàçäåëèòü âàøó çàäà÷ó íà äâå:
1) Ñîçäàéòå êëèï è óäàëèòå åãî
2) Ñîçäàéòå ìàññèâ èç N ýëåìåíòîâ è íàó÷èòåñü äîáàâëÿòü/èçâëåêàòü èç íåãî ýëåìåíòû

Ïîëåçíî òàêæå ïîäóìàòü íàä ñèãíàòóðîé ìåòîäà:

êîíòåéíåð.removeChild(ññûëêà_íà_ìóâèê_â_êîíòåéíåðå)

PS
Êîä
Òîãäà ñîçäàåòñÿ 3 ìàññèâà, íî ñ ðàçíûì ÷èñëîì ýëåìåíòîâ


Îò÷åãî æå ðàçíûõ? Ýòî îäèí ìàññèâ, íà ðàçíûõ ñòàäèÿõ âûïîëíåíèÿ öèêëà.

Êîä
À íàäî âåäü, ÷òîáû â êàæäîì ìàññèâå áûë òîëüêî 1 ýëåìåíò?


Íåò. Êàê ðàç íóæåí îäèí ìàññèâ. (ýòî ïðîñòî ìîÿ èäåÿ, ìîæíî âñå ñäåëàòü ïî-äðóãîìó)
 ýòîì îäíîì ìàññèâå áóäóò ññûëêè íà âñå ìóâèêè. Ñîîòâåòñòâåííî âû ñìîæåòå ïîòîì ÏÎËÓ×ÈÒÜ ýòè ññûëêè, êîòîðûå ó âàñ äî ýòîãî áåçâîçâðàòíî ïðîïàäàëè (êðîìå ïîñëåäíåé).

NB!
Ìíå íå òðóäíî íàïèñàòü ãîòîâûé êîä, íî ÿ âñåãäà âñïîìèíàþ Ñîðîñà è åãî ïðèò÷ó î ðûáå è óäî÷êàõ. Òåì áîëåå, âû, Rotwang, ñòàðàåòåñü èìåííî ÈÇÓ×ÈÒÜ AS3, ÷òî ïîõâàëüíî.
chingachgoog
ß â âàñ âåðèë smile.gif

Öèòàòà(Rotwang @ 14.05.2009 - 20:05) *
Âîò òîëüêî íå çíàþ, ÷òî ýòî çà êîíñòðóêöèÿ - array = []; smile.gif


Ýòî ëèòåðàë.

[] = new Array()

Âðîäå â õåëïå, äà è âàøåãî Ìóêà ýòî åñòü.


Rotwang
chingachgoog, à âåäü òî, ÷òî ÿ íàïèñàë â ïðåäûäóùåì ïîñòå, ðàáîòàåò rolleyes.gif.


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

Öèòàòà
Ìíå íå òðóäíî íàïèñàòü ãîòîâûé êîä, íî ÿ âñåãäà âñïîìèíàþ Ñîðîñà è åãî ïðèò÷ó î ðûáå è óäî÷êàõ.

Âû ñîâåðøåííî ïðàâû, êîä íàäî ïèñàòü òîëüêî â ñàìîì êðàéíåì ñëó÷àå, êîãäà ÿ óæå ñîâñåì íå ïîíèìàþ. wink.gif
chingachgoog
ß áû ñàìó êàïëþ ñäåëàë ðàíäîìíîé è íå ïàðèëñÿ.
Rotwang
Öèòàòà(chingachgoog @ 15.05.2009 - 12:25) *
ß áû ñàìó êàïëþ ñäåëàë ðàíäîìíîé è íå ïàðèëñÿ.

Òî åñòü?
chingachgoog
Öèòàòà(Rotwang @ 15.05.2009 - 13:35) *
Òî åñòü?


ß íå çíàþ, ÷òî åñòü ó âàñ ìóâèê-êàïëÿ.
Íàèáîëåå ïðîñòîé ñëó÷àé - ýòî ìóâèê-àíèìàöèÿ êàïëè (ïîëåò ñâåðõó âíèç). Ñîîòâåòñòâåííî èìååì N êàäðîâ ìóâèêà.
Ïèøåì êîä, êîãäà ïðè ïåðâîì çàïóñêå ìû çàïóñêàåì ìóâèê ñî ñëó÷àéíîãî çíà÷åíèÿ èç èíòåðâàëà 1-N.
Äàëåå ìóâèê äàæå íå íàäî óäàëÿòü - ïðîñòî ïåðåìåùàåì åãî â íîâîå ñëó÷àéíîå ìåñòî, êîãäà êàïëÿ óïàäåò äî êîíöà.
Rotwang
Öèòàòà(chingachgoog @ 15.05.2009 - 12:47) *
Íàèáîëåå ïðîñòîé ñëó÷àé - ýòî ìóâèê-àíèìàöèÿ êàïëè (ïîëåò ñâåðõó âíèç).

Äà, ó ìåíÿ èìåííî òàêîé ñëó÷àé. 15 êàäðîâ ïîëåò êàïëè.
Âîò, ÷òî ÿ íàäåëàë:
Êîä
var frame:int = Math.floor(Math.random()*15);
gotoAndPlay(frame);
trace(frame);

Ýòó ðàäîñòü ÿ ïèøó â ïåðâûé ôðåéì êàïëè. Íî ïî-ìîåìó, íè÷åãî íå èçìåíèëîñü.
chingachgoog
Öèòàòà(Rotwang @ 15.05.2009 - 15:10) *
Äà, ó ìåíÿ èìåííî òàêîé ñëó÷àé. 15 êàäðîâ ïîëåò êàïëè.
Âîò, ÷òî ÿ íàäåëàë:
Êîä
var frame:int = Math.floor(Math.random()*15);
gotoAndPlay(frame);
trace(frame);

Ýòó ðàäîñòü ÿ ïèøó â ïåðâûé ôðåéì êàïëè. Íî ïî-ìîåìó, íè÷åãî íå èçìåíèëîñü.


Ïî èäåå âñå ïðàâèëüíî è äîëæíî ðàáîòàòü.
Âîçìîæíî òóò íåëüçÿ èñïîëüçîâàòü òèï Int, íî ïðîâåðèòü íå ìîãó - ó ìåíÿ ñåé÷àñ êîìïèëÿòîð ïîä AVM2 ÷òî-òî ãëþ÷èò.
Rotwang
chingachgoog, à ìîæåò ÿ íà òàéìëàéí ÷òî-íèáóäü íå äîïèñàë?
Âîò âñå, ÷òî ó ìåíÿ â êîäàõ:
Òàéìëàéí, 1-é êàäð
Êîä
var array:Array=new Array();
array = [];
for(var i:int = 0; i<20; i++){
    var drop:Clip = new Clip();  //Drop - èìÿ êëàññà êàïëè
    array.push(drop);
    drop.x = Math.random()* this.stage.stageWidth;
    drop.y = Math.random()* this.stage.stageHeight;
    this.addChild(drop);

    trace(array[i]);
}


Òàéìëàéí, ïîñëåäíèé êàäð
Êîä
for(var n:int = 0; n<20; n++){
        this.removeChild(array[n]);
    }


Ïåðâûé êàäð ìóâèêà "Êàïëÿ"
Êîä
var frame:Number = Math.floor(Math.random()*15);
gotoAndPlay(frame);
trace(frame);

Åñëè åñòü âðåìÿ, ïîñìîòðèòå, êàê ïî-âàøåìó, ðàíäîìíî ýòî èëè íåò?Íàæìèòå äëÿ ïðîñìîòðà ïðèêðåïëåííîãî ôàéëà
chingachgoog
Òîãäà ëó÷øå òàê:

Òàéìëàéí, 1-é êàäð

Êîä
var array:Array = [];
for(var i:int = 0; i<20; i++){
    var drop:Clip = new Clip();  //Drop - èìÿ êëàññà êàïëè
    array.push(drop);
    this.addChild(drop);
}


Òàéìëàéí ... à îñòàëüíûõ êàäðîâ íà òàéìëàéíå íåò âîîáùå smile.gif

Ïåðâûé êàäð ìóâèêà "Êàïëÿ"

Êîä
x = Math.random()* this.stage.stageWidth;
y = Math.random()* this.stage.stageHeight;
var frame:Number = Math.floor(Math.random()*15);
gotoAndPlay(frame);


êîãäà íàäîåñò âêëþ÷àåòå óáèâàëêó

Êîä
for(var n:int = 0; n<20; n++){
        this.removeChild(array[n]);
        delete array[n]
    }

Rotwang
chingachgoog, áëàãîäàðþ âàñ, âîò ìû íàêîíåö-òî äîáèëè ýòó òåìó. laugh.gif
Íî îñòàëñÿ ó ìåíÿ âîïðîñ. Êàê ðàáîòàåò ýòà êîíñòðóêöèÿ:
Êîä
x = Math.random()* this.stage.stageWidth;
y = Math.random()* this.stage.stageHeight;
var frame:Number = Math.floor(Math.random()*15);
gotoAndPlay(frame);


Çäåñü ïðîñòî èêñ è èãðåê. Âðîäå íåïîíÿòíî, ÷åìó îíè ïðèñâàèâàþòñÿ. Êàê îáúÿñíèòü?
chingachgoog
Öèòàòà(Rotwang @ 15.05.2009 - 22:45) *
Çäåñü ïðîñòî èêñ è èãðåê. Âðîäå íåïîíÿòíî, ÷åìó îíè ïðèñâàèâàþòñÿ. Êàê îáúÿñíèòü?


Ïðîñòî this ìîæíî èíîãäà (èç ëåíè) íå ïèñàòü - åñëè çíàòü âñþ öåïî÷êó âèäèìîñòè.
 äàííîì ñëó÷àå ÔÏ âèäèò ïåðåìåííóþ x íà òàéìëàéíå è íà÷èíàåò åå ïðîâåðÿòü. Åñëè íè÷åãî èíîãî âû ñ x íå íàìóäðèëè, òî ñêîðî ÔÏ â öåïî÷êå âèäèìîñòè îáíàðóæèò ãåòòåð/ñåòòåð x ó DisplayObject (êîòîðûé åñòü ïðåäîê MovieClip).

NB!
Ó Ìóêà ýòî âðîäå íà ñ.101 îïèñàíî.
Ðóññêàÿ âåðñèÿ IP.Board © 2001-2011 IPS, Inc.