Avatar billede maqhem Nybegynder
31. december 2004 - 11:03 Der er 23 kommentarer og
1 løsning

Actionscript til Actioscript?

Hej derude...
Jeg har i flere år nu ledt efter en rigtig udfordring til mig selv, og har endelig fundet en nu:
Jeg vil lave et spil/en film/et website - what ever! Men fla-filen skal udelukkende laves via koder...
Nu spørger jeg så:
1.: Hvordan laver jeg farver der "fader" ind i hinanden med actionscriptet?
2.: Hvordan laver jeg MC med farver på?
og...
3.: Hvordan laver jeg frames inde i MC med actionscripts på hver frame?
Avatar billede maqhem Nybegynder
31. december 2004 - 11:08 #1
Jeg har det på fornemmelsen, af, at det meste af scriptet skal være noget med createEmptyMovieClip - men er ikke sikker på, hvordan jeg bruger denne function...
Forklaringer må meget gerne følge med...
Tak!
Avatar billede mat Nybegynder
31. december 2004 - 11:58 #2
createEmptyMovieclip er ret nemt at bruge, se evt hjælpen under MovieClip.createEmptyMovieClip.

Et eksempel på brug, hvor du laver et firkantet movieclip med sort outline og blå fill:

createEmptyMovieClip("clip", 1);
with(clip) {
    _x = 300; // ryk movieclip x til 300
    _y = 300; // ryk movieclip y til 300
   
    lineStyle( 1, 0x000000, 100 ); // streg tykkelse, farve og alpha
    beginFill(0x0000FF, 100); // farve, alpha
    lineTo( 100 ,0 ); // linie til x 100 og y 0
    lineTo( 100, 100 );  // linie til x 100 og y 100
    lineTo( 0, 100 ); // osv
    lineTo( 0, 0 ); // osv til vi har en firkant
   
}

Med hensyn til "fading" af farver har http://proto.layer51.com/d.aspx?f=601 en fin lille prototype til det formål (du skal være bruger for at se den).

Så vidt jeg ved laver du ikke bare frames inde i et movieclip i runtime, så der må du finde en anden løsning end frames.

Derudover er det fint at du vil udfordre dig selv, men jeg ser ikke umiddelbart nogen grund til at lave alt med kode. Drawing API'en er til grafik, der skal tegnes dynamisk, hvor det vil blive for omsonst at bruge prædefineret grafik.

Men held og lykke med projektet da :)

mvh mat
Avatar billede maqhem Nybegynder
31. december 2004 - 16:47 #3
Tak skal du have... Det var lige hvad jeg havde brug for!
Men er du ikke lige venlig at uddybe dette?:
    lineTo( 100 ,0 ); // linie til x 100 og y 0
    lineTo( 100, 100 );  // linie til x 100 og y 100
    lineTo( 0, 100 ); // osv
    lineTo( 0, 0 ); // osv til vi har en firkant
Avatar billede maqhem Nybegynder
01. januar 2005 - 15:00 #4
Har fundet ud af det selv. Virkelig mange tak!
Læg et svar, hvis du vil have point....
Avatar billede maqhem Nybegynder
01. januar 2005 - 15:19 #5
Lige en ting...
Da jeg sagde "fade", mente jeg ikke helt sådan. Jeg mente det sådan, at en farve skulle fade vandret eller lodret ind i en anden farve. Ligsom en skygge eller sådan noget.
Avatar billede maqhem Nybegynder
01. januar 2005 - 15:29 #6
hvordan laver jeg så det?
Avatar billede mat Nybegynder
01. januar 2005 - 17:59 #7
Mener du en gradient? Tjek hjælpen under MovieClip.beginGradientFill :)
Avatar billede maqhem Nybegynder
01. januar 2005 - 18:02 #8
Ok...
Du skal nok få dine point, men kan du ikke lige være så sød, at fortælle mig hvordan jeg laver en film?
Altså, hvis jeg ikke kan lave frames, må jeg da kunne lave en eller anden form for billedskift, ikke?
Avatar billede mat Nybegynder
02. januar 2005 - 12:47 #9
Jo, eftersom det hele laves med kode, kan du have nogle tilstande hvor du finder ud af hvad der skal tegnes.

F.eks  hvis det og det gælder så tegner du med rødt fill og hvis ikke, så tegner du med blåt fill - og så fremdeles.

Giver det mening?
Avatar billede maqhem Nybegynder
02. januar 2005 - 13:26 #10
Nej...
Jeg forstår det faktisk overhovedet ikke. Forklarer du ikke lige, eller sender en fil?
Avatar billede maqhem Nybegynder
02. januar 2005 - 13:28 #11
Jeg forstår alligevel, men hvordan laver jeg det sådan, at disse tilstande eller variabler skifter med et bestemt tidsrum?
Avatar billede mat Nybegynder
02. januar 2005 - 13:36 #12
well det handler om betingelser. Hvis du har en tilstand definerer hvorvidt din grafik skal tegnes i den ene eller anden farve eller form.

if (tegn_den_blå) {
beginFill(0x0000FF, 100); // tegn blå
}
else {
beginFill(0xFF0000, 100); // tegn rød
}

Hvor "tegn_den_blå" er den variabel du ændrer for henholdsvis at opfylde betingelsen, eller ej.
Avatar billede mat Nybegynder
02. januar 2005 - 13:41 #13
Brug setInterval, den udløser en funktion efter en defineret tidsperiode.
Avatar billede maqhem Nybegynder
02. januar 2005 - 13:41 #14
men kan jeg ikke lave en kode til, at skifte billede hvert sekund, hvert andet eller hvert tiende???
Avatar billede mat Nybegynder
02. januar 2005 - 13:47 #15
Jo ved en kombination af ovenstående.

function skiftBillede() {
if (etellerandet == 1) {
tegnbillede1();
}
else if (etellerandet == 2) {
tegnbillede2();
}
etellerandet += 1;
}

interval = setInterval("skiftBillede", 1000); // 1000 millisekunder = 1 sekund

...agtigt

Hvis du vil have det nemmere så brug timelines.
Avatar billede maqhem Nybegynder
02. januar 2005 - 13:48 #16
hmn... det ser meget rigtigt ud... Prøver det lige.
Avatar billede maqhem Nybegynder
02. januar 2005 - 13:52 #17
Kan ikke helt få det til at fungere...
Det kan vel ikke være fordi jeg laver lidt om på koden, vel?

Jeg har bare lavet funktionen tegnbillede om til, at den skal sætte en variabel. Er det forkert?

function skiftBillede() {
    if (tid == 1) {
        _root.abc = tegnbillede1();
    } else if (tid == 2) {
        _root.abc = tegnbillede1();
    }
    tid += 1;
}
interval = setInterval("skiftBillede", 2000);
Avatar billede maqhem Nybegynder
02. januar 2005 - 13:53 #18
Den skriver slet ikke noget i variablen abc.
Avatar billede mat Nybegynder
02. januar 2005 - 13:57 #19
Mit eksempel er blot en illustration, koden kan ikke bare bruges.

tegnbillede(); refererer til en funktion, der ikke er defineret - den skal du selv lave. "tid" er ikke initieret, det skal den (formentlig til 1).
Den skal osse "wrappes", i ovenstående vil den bare blive højere og højere. Så når den når den maksimale værdi af billeder skal den sættes til 1 igen.
Avatar billede maqhem Nybegynder
02. januar 2005 - 14:28 #20
Undskyld, men dette er godt nok for prof til mig. Kan du ikke lave en prototype til mig?
Avatar billede alexander_j Nybegynder
02. januar 2005 - 15:35 #21
Ville du ikke have en udfordring :-P
Avatar billede mat Nybegynder
02. januar 2005 - 16:37 #22
Jeg har desværre lidt meget om ørerne for tiden, så jeg orker ikke rigtigt at lave et decideret produkt. Men du må jo bare bikse med det, det er jo sådan man lærer :)
Avatar billede maqhem Nybegynder
02. januar 2005 - 17:58 #23
ok... Jeg siger til, hvis jeg overhovedet ikke kan finde ud af det ;)
Avatar billede maqhem Nybegynder
28. marts 2005 - 21:18 #24
Jeg kan sq ik helt finde ud af dét, med MovieClip.beginGradientFill, men det andet kører helt fint nu... Du får lige dine point - dem havde jeg helt glemt ;)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester