🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: alt.pl.programy.flash-5
Article #34601

Usuwanie movieclip'u ze sceny

#34601
From: d.pamula
Date: Fri, 03 Oct 2008 11:44
77 lines
3879 bytes
Witam, nie wiem czy we właściwym miejscu ten post ale może ktoś mi
pomoże.
W pierwszej klatce kluczowej umieszczam poniższy kodzik akcji:

ilosc_paskow = 30;
 //oznacza ilość pionowych pasków masek
 MovieClip.prototype.drawBox = function(kolor, x, y, w, h) {
 //funkcja rysowania prostokąta w oparciu o kolor, pozycję i wymiary
 this.beginFill(kolor, 100);         //rozpocznij wypełnianie kształtu
kolorem
 this.moveTo(x, y);        //przesuń wskaźnik rysowania do punktu x i
y
 this.lineTo(x+w, y);
 this.lineTo(x+w, y+h);
 this.lineTo(x, y+h);
 this.lineTo(x, y);
 this.endFill();    //zakończ wypełnianie kształtu
 };
_root.createEmptyMovieClip('mask0', 2);
 //stwórz klip filmowy o nazwie mask0
 szerMaski = Math.ceil(flag0._width/ilosc_paskow);
 //oblicz szerokość paska maski
 mask0.drawBox(0, 10, 0, szerMaski+8, Stage.height);
 //narysuj pierwszy pasek maski
 mask0._x = flag0._x;
 //przyciągnij poziomo lewy róg paska maski do flagi
 mask0._y = 0;
 //wyrównaj pasek maski w pionie
 flag0.setMask(mask0);
 //zamaskuj flagę maską w postaci paska
 flagi = [];
 //zdefiniuj tablicę adresów klipów filmowych flag
 flagi[0] = flag0;
 //zapisz adres flagi bazowej
 zWarstwy = 100;
 //określ wysokość bazową nowo tworzonych warstw flag i mask

 for (i=1; i<ilosc_paskow; ++i) {
 //pętla tworząca 20 flag i masek

 var mc1 = flag0.duplicateMovieClip('flag'+i, zWarstwy+i*2,
 {_x:flag0._x, _y:flag0._y});
//przypisz zmiennej mc1 adres nowej, sklonowanej flagi

var mc2 = mask0.duplicateMovieClip('mask'+i, zWarstwy+i*2+1,
 {_x:flag0._x+i*szerMaski, _y:0});
//przypisz zmiennej mc2 adres nowej, sklonowanej maski
mc1.setMask(mc2);
//zamaskuj obecny klip flagi, klipem maski
flagi[i] = mc1;
//zapamiętaj kolejne adresy klipów flag w tablicy
}
flag0.onEnterFrame = function() {
 //funkcja powtarzana 30 klatek/s dla flagi bazowej
for (var i = ilosc_paskow-1; i>0; --i) {
//pętla obracająca wszystkie wcześniej sklonowane flagi jednocześnie
flagi[i]._rotation = flagi[i-1]._rotation;
}
var t = getTimer();
//funkcja zwracająca milisekundy od początku trwania animacji
this._rotation = Math.sin(t*.001+Math.cos(t*.001)*Math.PI*2)*2;
//obracanie bazowej flagi flag0 płynnie w obu kierunkach
 };

Powyższy kodzik "powoduje" animację flagi.
I teraz mam dwa problemy:
Pierwszy polega na tym że nie wiem jak zamknąć/usunąć ten clip ze
sceny po kliknięciu na klawisz, bądź przy przejściu do kolejnej klatki
kluczowej.
Używałem RemoveMovieClip ale nie bardzo mi to działa.
Drugi jak spowodować animację tej flagi w dół, tzn tak by prostokąt
nie był pocięty w pionie tylko w poziomie.

Jestem początkującym flash'owcem więc przepraszam za ewentualne
błędy.

Z góry dziękuje za odpowiedź.
Technical Details
Message-ID: <8419947b-e642-4082-bb88-a6140e9d0a0a@d45g2000hsc.googlegroups.com>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!newsfeed.pionier.net.pl!news.glorb.com!postnews.google.com!d45g2000hsc.googlegroups.com!not-for-mail

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!newsfeed.pionier.net.pl!news.glorb.com!postnews.google.com!d45g2000hsc.googlegroups.com!not-for-mail
From: d.pamula@wup.opole.pl
Newsgroups: alt.pl.programy.flash-5
Subject: Usuwanie movieclip'u ze sceny
Date: Fri, 3 Oct 2008 04:44:07 -0700 (PDT)
Organization: http://groups.google.com
Lines: 80
Message-ID: <8419947b-e642-4082-bb88-a6140e9d0a0a@d45g2000hsc.googlegroups.com>
NNTP-Posting-Host: 217.197.71.252
Mime-Version: 1.0
X-Trace: posting.google.com 1223034248 17808 127.0.0.1 (3 Oct 2008 11:44:08 GMT)
X-Complaints-To: groups-abuse@google.com
NNTP-Posting-Date: Fri, 3 Oct 2008 11:44:08 +0000 (UTC)
Complaints-To: groups-abuse@google.com
Injection-Info: d45g2000hsc.googlegroups.com; posting-host=217.197.71.252;  posting-account=fIr2yAoAAADJmKPDx6hbSVzVTroAry5F
User-Agent: G2/1.0
X-HTTP-UserAgent: Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.9.0.3)  Gecko/2008092417 Firefox/3.0.3,gzip(gfe),gzip(gfe)
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit