/ Forside / Teknologi / Multimedie & design / Flash / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Flash
#NavnPoint
bentjuul 4251
molokyle 1978
Klaudi 1488
jhvp 1265
pallenoc 1160
katekismus 1020
Fnollerpi.. 790
slander 510
Dr.Disco 500
10  Flash77 500
Parvise movieclips
Fra : Henrik Rasmussen


Dato : 06-01-02 01:09


Hej derude.

Jeg har lige et spørgsmål som jeg er kørt lidt fast med.
Jeg må hellere lige huske at sige at jeg (stadigvæk) arbejder til Flash
4!

Jeg har en knap som udfører følgende hver gang man klikker på den:
-duplicerer to movieclips A og B, og navngiver kopierne fortløbende (A1/
B1, A2/B2, A3/B3...osv.)
-sætter B-kopien til _visible, false

På det synlige mc (A-kopien) skal der ligge en knap som ved on(press)
gør den tilsvarende B-kopi synlig.
Hvordan "fortæller" jeg knappen på A-kopien hvilken B-kopi lige netop
dén skal referere til.

Jeg gætter på at det er noget med at sætte nummeret på mc-kopi-parret
ind i en variabel i A-kopien som knappen så kalder ved on(press)?!


På forhånd tak!

Henrik

 
 
Peo (06-01-2002)
Kommentar
Fra : Peo


Dato : 06-01-02 03:43

En mulig løsning kunne være at placere clip A og B i et samlet clip - et
"par" så at sige (mcPar).
I stedet for at duplikere clip A og B, så duplikerer du bare mcPar. På denne
måde er der ingen tvivl om hvordan targeting'en fra knappen i clip A skal
være - Den vil altid være _parent.B.
action på knappen i clip A:

// kode start -----------------
on (press) {
_parent.B._visible = 1;
}
// kode slut -------------------

/peo
www.bandage.dk
www.peo.dk




Henrik Rasmussen (06-01-2002)
Kommentar
Fra : Henrik Rasmussen


Dato : 06-01-02 14:23


Hej der!

Er det virkeligt ikke muligt samtidigt med at man duplicere et mc i
Flash 4, at definere en variabel på kopiens timeline.
Jeg har prøvet princippet herunder men kan ikke få det til at virke!


// knap på root timeline
on (press) {
/counterdepth = /counterdepth+1;
// Her stilles nummeret på den infobox der vises ved klik på A kopien
/A:infoboxnumber = /counterdepth;
duplicateMovieClip ("A", "Acopy" add /counterdepth, /counterdepth);
duplicateMovieClip ("B", "infobox" add /counterdepth,
/counterdepth+100);"
setProperty ("B" add /counterdepth, _visible, false)
}"

//knap på A-kopier
on (press) {
setProperty ("../B" add infoboxnumber, _visible, true);
}"


Venlig søndagshilsen,
Henrik

Henrik Rasmussen (06-01-2002)
Kommentar
Fra : Henrik Rasmussen


Dato : 06-01-02 14:33

Henrik Rasmussen <hen.rasmussen@get2net.dk> wrote:

> Hej der!
>
> Er det virkeligt ikke muligt samtidigt med at man duplicere et mc i
> Flash 4, at definere en variabel på kopiens timeline.
> Jeg har prøvet princippet herunder men kan ikke få det til at virke!
>
Jeg skulle måske lige tilføje at både A og B bliver kopieret, navngivet
og vist korrekt her.
> // knap på root timeline
> on (press) {
> /counterdepth = /counterdepth+1;
> // Her stilles nummeret på den infobox der vises ved klik på A kopien
> /A:infoboxnumber = /counterdepth;
> duplicateMovieClip ("A", "Acopy" add /counterdepth, /counterdepth);
> duplicateMovieClip ("B", "infobox" add /counterdepth,
> /counterdepth+100);"
> setProperty ("B" add /counterdepth, _visible, false)
> }"
>
Men knappen her åbner/viser bare B (originalen) og ikke B1, B2 osv.
> //knap på A-kopier
> on (press) {
> setProperty ("../B" add infoboxnumber, _visible, true);
> }"
>
>
> Venlig søndagshilsen,
> Henrik


Peo (06-01-2002)
Kommentar
Fra : Peo


Dato : 06-01-02 20:35

Det kan man godt. Det kan gøres på flere måder.
I dette ex. sættes variablen "targetpath" i det duplikerede A-clip (Acopy +
/:counterdepth). værdien af targetpath-variablen sættes til at være
"../infobox"+/:counterdepth. Ex. I clip "Acopy16" vil værdien af Acopy16's
targetpath-variabel være: ../infobox16.
// start
duplikering ----------------------------------------------------------------
--------------------------
on (press) {
/:counterdepth = /:counterdepth + 1;
duplicateMovieClip ("A", "Acopy" add /:counterdepth, /:counterdepth);
duplicateMovieClip ("infobox", "infobox" add /:counterdepth,
/:counterdepth+100);
set ("Acopy" add /:counterdepth add ":targetpath", "../infobox" add
/:counterdepth);
}
// slut
duplikering ----------------------------------------------------------------
----------------------------

På knappen i A-clippet bruger vi så variablen targetpath til at fortælle
flash hvilket clip der skal "slukkes for".
Bem. at der ikke er gåseøjne omkring Target.
// knap-action i
A --------------------------------------------------------------------------
------------------
on (press) {
setProperty (targetpath, _visible, 1);
}
// slut knap-action i
A --------------------------------------------------------------------------
-------------


En anden måde at gøre det på kunne være følgende.
Vi duplikere de to clips...
// start
duplikering ----------------------------------------------------------------
--------------------------
on (press) {
/:counterdepth = /:counterdepth + 1;
duplicateMovieClip ("A", "Acopy" add /:counterdepth, /:counterdepth);
duplicateMovieClip ("infobox", "infobox" add /:counterdepth,
/:counterdepth+100);
}
// slut
duplikering ----------------------------------------------------------------
----------------------------

Og så skriver vi følgende action på knappen i A:

// knap-action i
A --------------------------------------------------------------------------
------------------
on (press) {
setProperty ("../infobox" add substring ( getProperty ( "", _name ), 6,
3 ), _visible, 1);
}
// slut knap-action i
A --------------------------------------------------------------------------
-------------

Det der sker er at Target sættes til "../infobox" + det nummer der står i
enden af clip A's navn (altså en substring af clip A's navn). Vi starter med
at tælle substring'en fra og med index 6 ("Acopy", 5 tegn), og tæller 3
frem. Grunden til at vi tæller 3 frem er bare for at være på den sikre side.
Det kan jo være at der er blevet duplikeret så mange gange at vi er oppe på
et 3-cifferet tal.
Hvis du med sikkerhed ved at der max. vil blive duplikeret 99 gange, så kan
du nøjes med at tælle 2 tegn frem. Og igen, hvis du kun har max 9
duplikeringer, så kan du nøjes med at tælle 1 tegn frem.

/peo
www.bandage.dk
www.peo.dk












Peo (06-01-2002)
Kommentar
Fra : Peo


Dato : 06-01-02 20:41

Det kan man godt. Det kan gøres på flere måder.
I dette ex. sættes variablen "targetpath" i det duplikerede A-clip (Acopy +
/:counterdepth). værdien af targetpath-variablen sættes til at være
"../infobox"+/:counterdepth. Ex. I clip "Acopy16" vil værdien af Acopy16's
targetpath-variabel være: ../infobox16.
// start
duplikering ------------------------------------------------------------------------
on (press) {
/:counterdepth = /:counterdepth + 1;
duplicateMovieClip ("A", "Acopy" add /:counterdepth, /:counterdepth);
duplicateMovieClip ("infobox", "infobox" add /:counterdepth,/:counterdepth+100);
set ("Acopy" add /:counterdepth add ":targetpath", "../infobox" add /:counterdepth);
}
// slut duplikering ----------------------------------------------------------------


På knappen i A-clippet bruger vi så variablen targetpath til at fortælle
flash hvilket clip der skal "slukkes for".
Bem. at der ikke er gåseøjne omkring Target.
// knap-action i A -----------------------------------------------------------------

on (press) {
setProperty (targetpath, _visible, 1);
}
// slut knap-action i A ------------------------------------------------------------



En anden måde at gøre det på kunne være følgende.
Vi duplikere de to clips...
// start duplikering ---------------------------------------------------------------
on (press) {
/:counterdepth = /:counterdepth + 1;
duplicateMovieClip ("A", "Acopy" add /:counterdepth, /:counterdepth);
duplicateMovieClip ("infobox", "infobox" add /:counterdepth,/:counterdepth+100);
}
// slut duplikering ----------------------------------------------------------------

Og så skriver vi følgende action på knappen i A:

// knap-action i A -----------------------------------------------------------------

on (press) {
setProperty ("../infobox" add substring ( getProperty ( "", _name ), 6, 3 ), _visible, 1);
}
// slut knap-action i A ------------------------------------------------------------


Det der sker er at Target sættes til "../infobox" + det nummer der står i
enden af clip A's navn (altså en substring af clip A's navn). Vi starter med
at tælle substring'en fra og med index 6 ("Acopy", 5 tegn), og tæller 3
frem. Grunden til at vi tæller 3 frem er bare for at være på den sikre side.
Det kan jo være at der er blevet duplikeret så mange gange at vi er oppe på
et 3-cifferet tal.
Hvis du med sikkerhed ved at der max. vil blive duplikeret 99 gange, så kan
du nøjes med at tælle 2 tegn frem. Og igen, hvis du kun har max 9
duplikeringer, så kan du nøjes med at tælle 1 tegn frem.

/peo
www.bandage.dk
www.peo.dk




Peo (06-01-2002)
Kommentar
Fra : Peo


Dato : 06-01-02 20:45

Glemte lige i farten at "slukke" for infobox'en - Det sker selvfølgeligt i forbindelse med duplikeringen heraf.

/peo
www.bandage.dk
www.peo.dk





Henrik Rasmussen (07-01-2002)
Kommentar
Fra : Henrik Rasmussen


Dato : 07-01-02 00:30


Hej Michael.

Nu fungerer det som det skal!!!

Kom til at tænke på en bog af Aksel Sandemose hvor der i forordet står
noget i retning af det her om en mand der havde været ude i noget snavs:
"...senere fik han øl i nogen år og det blev bedre."!!!
Jeg tror snart at jeg må gøre alvor af det der med en håndfuld
snebajere, bortset fra at det jo nok snarere bliver påskebryg

Henrik

Peo (06-01-2002)
Kommentar
Fra : Peo


Dato : 06-01-02 03:52

Hovsa... Det sku jo være flash 4 - sorry..

// kode start ------------------------------
on (press) {
setProperty ("../B", _visible, 1);
}
// kode slut --------------------------------



Søg
Reklame
Statistik
Spørgsmål : 177552
Tips : 31968
Nyheder : 719565
Indlæg : 6408847
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste