/ 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
Bredde på movieclip
Fra : Martin Helbo


Dato : 30-12-01 13:11

Jeg er ved at lave en slags tidslinje og skal derfor bruge et meget
bredt/langt movieclip. Problemet er at jeg ikke kan få det breddere end 720
pixels.
Er det muligt at øge bredden, det skal være ca. 20.000 pixel bred

/Martin Helbo



 
 
Peo (31-12-2001)
Kommentar
Fra : Peo


Dato : 31-12-01 01:57

20.000 - Det er sku en bred satan!
Det er ikke muligt at forøge work-area'et for et symbol (hvilket ellers
ville gøre det muligt at "tegne" et større symbol), men der er et par
løsninger på problemet.

Nørkle-metoden:
Hvis dit clip består af flere delelementer, så placér dem på hver sit lag.
Her efter kan hvert elements x-position indtastes i info-paletten. Denne
teknik gør det muligt at placere elementer uden for work-area'et - Derude
hvor man ikke kan se dem. Det er vigtigt at hvert element ligger på sit eget
lag, da det ellers ikke er muligt at vælge elementet (og kun det) igen. Der
er en øvre grænse på hvor store x-værdier info-paletten vil tillade dig at
sætte - jeg husker det ikke helt, men mener at den er omkring 3000 pixel.
Denne begrænsning kan du omgå ved enten at "nudge" hvert element på plads
med piletasterne (hold shift nede og sørg for at have zoomet ud så meget som
muligt for større spring). Der er dog ret langt ud til de 20.000, så måske
er det en bedre idé at opbygge 20.000-clippet af flere dele 5-10 stk. eller
der omkring.
Det virker men er ikke så fed at rette i senere af klare grunde.


Script-metoden:
Den anden måde du kan lave et rigtigt bredt clip på er ved hjælp
actionscript. Forklaringen er lang, men det er meget nemmere at have med at
gøre i længden. Det er en mere fleksibel metode der gør det let at rette,
tilføje, fjerne osv.
Idéen er at lave et passende antal del-elementer, og derefter scripte deres
x-position, så de samlet danner det lange clip. Lad os tage et ex.:
Lad os sige at vi laver 12 mindre clips, der hver er 1666 pixel brede(sørg
for at hver clips referencepunkt ligger præcist yderst til venstre i
clippet). 12 (evt. måneder) x 1666 pixel = ca. 20.000 pixel.

Vi antager at hvert af de mindre clips er forskellige, og laver derfor 12
clips i Library'et som vi hver giver en identifier. (Højreklik på symbolet i
Librariet > Linkage > Eksport this Symbol > indtast identifier). Vi giver
dem "fortløbende" identifiers ex. delClip0, delClip1, delClip2 osv. op til
det sidste delClip11. Så langt så godt, så mangler vi bare noget at placere
delclips'ne i og lidt script.
Et helt tomt clip placeres på scenen (eller hvor det nu skal ligge) og
clippet gives et instance-navn ex. bredtClip. Vi tilføjer følgende
actionscript til bredtClip:

//kode start ---------------------------------------------------
onClipEvent (load) {
for (i=0; i<12; i++) {
this.attachMovie( "delClip"+i, "delClip"+i, i );
set (["delClip"+i]._x, i * 1666);
}
}
// kode slut ----------------------------------------------------

Oversat til menneskesprog sker der følgende.
1. linie: vi vil have kørt koden så snart bredtClip loades - onClipEvent
(load).

2. linie: sæt en "tæller" variable ved navn i til at være 0 - Kør
nedenstående kode hvis i er mindre en 12 - Læg 1 til i og gentag.

3. linie: til dette (this, som jo er bredtClip) vedhæft det clip fra
Library'et der har identifieren "delClip"+det tal tælleren(i) i er nået til.
ex. "delClip"+1 = delClip1 - Giv det vedhæftede clip instance-navnet
"delClip"+i (samme som med identifieren) - Sæt dette nye clips dybde til at
være lig med i.

4. linie: Placér det nye vedhæftede clip ned navn "delClip"+i på x-aksen med
en værdi der svare til 1666 ganget med i. (x værdierne vil således blive som
følgende: 0, 1666, 3332, 4998 osv.)

Koden forudsætter tydeligvis at alle delClips'ne er 1666 pixel bredde. Hvis
de ikke er det, så må vi modificere koden lidt, så den sætter hvert clips
x-værdi baseret på de tidligere clips samlede bredde. ex:

//kode start ---------------------------------------------------
onClipEvent (load) {
varSamletBredde = 0;
for (i=0; i<12; i++) {
this.attachMovie( "delClip"+i, "delClip"+i, i );
set (["delClip"+i]._x, varSamletBredde);
varSamletBredde = varSamletBredde + ["delClip"+i]._width;
}
}
// kode slut ----------------------------------------------------

Der sker nøjagtigt det samme som før, men vi har bare lavet en variable
(varSamletBredde) der starter med at være 0, og for hver gang et delClip
tilføjes lægges dette clips bredde til variablen.

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






Teis Draiby (03-01-2002)
Kommentar
Fra : Teis Draiby


Dato : 03-01-02 22:44

Bare en tanke:
Kunne man lave tidsliniens MovieClip i mindre skala, og, når den blev brugt,
bare skalere den op via noget actionScript???


Hilsen Teis



Martin Helbo (04-01-2002)
Kommentar
Fra : Martin Helbo


Dato : 04-01-02 16:39

> Bare en tanke:
> Kunne man lave tidsliniens MovieClip i mindre skala, og, når den blev
brugt,
> bare skalere den op via noget actionScript???
>
Det var måske ikke helt dumt, jeg har ikke selv fundet en brugbar løsning
endnu

/Martin Helbo



Michael Peo (04-01-2002)
Kommentar
Fra : Michael Peo


Dato : 04-01-02 18:06

> Bare en tanke:
> Kunne man lave tidsliniens MovieClip i mindre skala, og, når den blev brugt,
> bare skalere den op via noget actionScript???

Det kan man godt. man kunne f.eks. lave den i 10% af sin naturlige str. og så skalere den op "onLoad":
// Kode start -----------------------
onClipEvent (load) {
this._xscale = this._xscale * 1000;
this._yscale = this._yscale * 1000;
}
// Kode slut ------------------------

Eller hvis man hellere vil regne i pixels i stedet for procent (gør clippet 20000 px bredt, og 30 px højt). :
// Kode start -----------------------
onClipEvent (load) {
this._width = 20000;
this._height = 30;
}
// Kode slut ------------------------

Problemet med at skalere clippet op, er at man skal "regne baglæns" når man skal lave clippet i lille str.
De to metoder jeg har nævnt tidl. kan sagtens anvendes, og de er ikke så svære at have med at gøre (det er
bare mig der er en idiot til at skrive korte forklaringer!). Jeg havde selv en del problemer med disse meget
store clips i en tidl. opgave (www.basecamp.dk), hvor jeg også var oppe at rode med clips i den store ende -
16.000 * 12.000 tror jeg det var. Men jeg fik stykket dem sammen af mindre clips. Dvs. at jeg lavede et
kæmpeclip, hvori jeg en gang for alle nørklede en masse placeholders (tomme clips, til at loade eksterne film)
på plads. Herefter kunne uden de store problemer bytte indhold ud after behag, blot ved at redigere de små
eksterne filer.

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








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

Månedens bedste
Årets bedste
Sidste års bedste